Commit graph

664 commits

Author SHA1 Message Date
Zac Sweers
dbe7bfa15f Use faster isAnnotationPresent check
Followup from https://github.com/square/moshi/pull/749#discussion_r235224202
2018-11-20 17:20:09 -08:00
Jesse Wilson
afb82cb3e8
Merge pull request #751 from square/eric.platform-type
Improve error message for platform types.
2018-11-20 20:05:13 -05:00
Zac Sweers
c64138bf0a
Refuse kotlin classes in ClassJsonAdapter (#749)
* Refuse kotlin classes in ClassJsonAdapter

* Fail()

* Tweak message
2018-11-19 23:36:52 -08:00
Zac Sweers
4550da0abe
Merge pull request #750 from square/eric.tests
Fix KotlinJsonAdapter tests that were missing the factory.
2018-11-19 23:27:31 -08:00
Jake Wharton
f4f7c656bd
Merge pull request #752 from square/eric.p
Fix peekJson Javadoc paragraph formatting.
2018-11-19 13:46:49 -05:00
Eric Cochran
7d1657d76c
Fix peekJson Javadoc paragraph formatting. 2018-11-19 10:42:41 -08:00
Eric Cochran
a920b9be3a Improve error message for platform types.
The error message about platform types will never contain qualifiers.
Also, simplify platform type check.
2018-11-19 02:31:07 -08:00
Eric Cochran
1f46203285
Fix KotlinJsonAdapter tests that were missing the factory. 2018-11-19 01:58:25 -08:00
Jesse Wilson
8b17ecedae
Merge pull request #745 from square/eric.incorrect-skipValue
Fix infinite loop when calling skipValue at the end an object or array.
2018-11-18 10:18:02 -05:00
Eric Cochran
5f0b2ee8e3 Allow Object base type for PolymorphicJsonAdapterFactory. (#744)
* Allow Object base type for PolymorphicJsonAdapterFactory

This works now.
Using general types like Object, Map, or List for the base type is error-prone, but the checks for these cases are not worth the code cost.

* Delete redundant test.

Let's not encourage users to use Object as a base type by showing it in a test.
2018-11-18 10:15:41 -05:00
Zac Sweers
6e6abf54ab
Merge pull request #747 from square/eric.null-safe-adapters
Fix test for null-safe KotlinJsonAdapterFactory adapters.
2018-11-17 03:00:32 -08:00
Eric Cochran
38b08f81e6
Fix test for null-safe KotlinJsonAdapterFactory adapters. 2018-11-17 02:23:28 -08:00
Eric Cochran
5bf14098d1 Fix infinite loop when calling skipValue at the end an object or array.
Fail with a clear message. This is useful when iteratoring through an array, making assumptions about the size without using hasNext.

Also, disallow calling skipValue at the end of a document. This is a behavior change.
2018-11-16 10:20:38 -08:00
Jesse Wilson
5f5631e34f
Replace Okio 2.x with 2.1 2018-11-10 14:42:18 -05:00
Jesse Wilson
98459dd8ab
Reference 1.8 in the README 2018-11-09 09:41:10 +10:00
Jesse Wilson
6b6c1af907 [maven-release-plugin] prepare for next development iteration 2018-11-09 10:04:52 +11:00
Jesse Wilson
eb7110bf59 [maven-release-plugin] prepare release moshi-parent-1.8.0 2018-11-09 10:04:36 +11:00
Jesse Wilson
69d4f40a12 Update changelog for 1.8.0 2018-11-09 10:01:07 +11:00
Eric Cochran
878b3ff93b Add CheckReturnValue annotation to peekJson. (#736)
* Add CheckReturnValue annotation to peekJson.

* Suppress test warning.
2018-11-09 07:41:45 +11:00
Jake Wharton
103ae3cec6
Merge pull request #737 from square/eric.CheckReturnValue-writer
Add CheckReturnValue annotation to beginFlatten.
2018-11-06 11:06:02 -08:00
Eric Cochran
81db25825d
Add CheckReturnValue annotation to beginFlatten. 2018-11-06 10:15:01 -08:00
Stefan M
cf22bf9bce Add Gradle Kotlin DSL for dependencies (#719)
* Add Kotlin DSL for dependencies

* Use the "Kotlin" sytnax
2018-11-06 00:05:15 -08:00
Eric Cochran
5c41565f39 Fall back to reflection when generated adapter is not found. (#728)
* Fall back to reflection when generated adapter is not found.

This is handy for development builds where kapt is disabled and models still have @JsonClass(generatedAdapter = true).

* Add test for Kotlin reflection fallback behavior.
2018-11-06 18:28:36 +11:00
Jesse Wilson
a8102bccd2
Merge pull request #733 from daugeldauge/fix-variance-issues
Fix variance issues in kotlin-codegen
2018-11-05 07:22:40 +11:00
Artem Daugel-Dauge
8a22f6b133 Do not check required property for null second time (#732)
* Do not check required property second time

* Fix codestyle
2018-11-04 09:44:10 -08:00
Artem Daugel-Dauge
0e3a52b729 Use javaObjectType instead of Java primitives while creating parametrized type (#731)
* Add test for collection of primitives

* Use javaObjectType instead of Java primitives while creating parametrized type
2018-11-04 09:42:51 -08:00
Artem Daugel-Dauge
e0be5f5a54 Fix variance issues 2018-11-04 17:11:22 +03:00
Jesse Wilson
1acc70dd70
Merge pull request #710 from technoir42/keep-nested-class-adapters
Retain generated JsonAdapters for nested classes
2018-11-04 08:23:23 +10:00
technoir
9e3d2345f9 Retain generated JsonAdapters for nested classes 2018-11-04 00:52:05 +03:00
Jesse Wilson
fc4b92710e
Merge pull request #729 from square/jwilson.1103.fix_lookup_chain_prose
Fix prose in deferred adapters
2018-11-04 04:11:05 +10:00
Jesse Wilson
978d4dddd5 Fix prose in deferred adapters 2018-11-03 22:36:17 +11:00
Jesse Wilson
0cb2aef646
Merge pull request #726 from square/eric.kp$
Update to KotlinPoet 1.0.0-RC2.
2018-11-03 12:13:26 +10:00
Jesse Wilson
1e4be0e16f
Merge pull request #727 from square/eric.getBuffer
Use BufferedSource.getBuffer().
2018-11-03 12:12:05 +10:00
Eric Cochran
fe7ba863b4
Use BufferedSource.getBuffer(). 2018-11-02 17:03:45 -07:00
Eric Cochran
0795e9cbd5 Update to KotlinPoet 1.0.0-RC2.
Also, use KotlinPoet's escaping for $ characters in formatted strings.
This is partly a revert of 01f600c (https://github.com/square/moshi/pull/604/).
2018-11-02 16:59:27 -07:00
Jesse Wilson
9eb142d05b
Merge pull request #714 from square/jwilson.1021.fix_deferred_races
Fix a race condition on deferred adapters
2018-10-22 21:31:52 -04:00
Jesse Wilson
ce65ff5527 Fix a race condition on deferred adapters
This changes how we lookup and cache adapters. Previously we were pretty
optimistic about putting adapters in the cache; these adapters could have
depended upon stubs that were incomplete.

Now we're a lot more careful: we only put adapters in the cache if the
root object that triggered a set of recursive calls was constructed
successfully.

Closes: https://github.com/square/moshi/issues/679
2018-10-22 21:06:31 -04:00
Jesse Wilson
daa0441ab3
Merge pull request #713 from square/jwilson.1019.runtime_polymorphic
Rename RuntimeJsonAdapterFactory to PolymorphicJsonAdapterFactory
2018-10-20 00:54:14 -04:00
Jesse Wilson
89103b6d13 Rename RuntimeJsonAdapterFactory to PolymorphicJsonAdapterFactory
Also expand the documentation.
2018-10-20 00:47:48 -04:00
Jesse Wilson
1896e0f118
Merge pull request #697 from jocmp/master
Make RuntimeJsonAdapterFactory public
2018-10-19 23:33:06 -04:00
Jesse Wilson
ed5577b463
Merge pull request #712 from square/jwilson.1019.use_flatten
Don't decode into memory in RuntimeJsonAdapterFactory
2018-10-19 12:18:20 -04:00
Jesse Wilson
6125d8c7b1 Don't decode into memory in RuntimeJsonAdapterFactory
Instead use our new flatten API to decode directly to the stream.
2018-10-19 12:07:58 -04:00
Jesse Wilson
01a406eac9
Merge pull request #708 from square/jwilson.1013.flattening
JSON flattening.
2018-10-19 11:23:03 -04:00
Jesse Wilson
f28bca609a JSON flattening.
This is a new API that makes it possible to do more interesting things
with composition. It's currently write-only; doing composition on reads
is much more difficult.
2018-10-19 10:59:19 -04:00
Jesse Wilson
08bfedaeb2
Merge pull request #707 from square/jwilson.1009.streaming_RuntimeJsonAdapterFactory
Change RuntimeJsonAdapterFactory to peek for type names.
2018-10-13 20:43:53 -04:00
Jesse Wilson
24ac43a799 Change RuntimeJsonAdapterFactory to peek for type names.
This is a bit awkward because JsonReader.Options doesn't tell you
what its values are.

Also awkward because we don't yet have an equivalent to stream
the encode of the value.
2018-10-09 23:10:31 -04:00
Jesse Wilson
cfaf62c95f
Merge pull request #706 from square/eric.javadoc
Fix Javadoc code formatting for JsonReader.peek().
2018-10-08 15:54:57 -04:00
Eric Cochran
931673c264
Fix Javadoc code formatting for JsonReader.peek(). 2018-10-08 12:48:44 -07:00
Jesse Wilson
2a4d37ece4
Merge pull request #704 from square/jwilson.1007.peekutf8
Implement peekJson() for JsonUtf8Reader
2018-10-08 12:27:02 -04:00
Jesse Wilson
01c45ca2a8
Merge pull request #705 from square/jwilson.1008.register_as_factory
Document how to register JsonAdapters
2018-10-08 12:24:17 -04:00