Commit Graph

1083 Commits

Author SHA1 Message Date
inder123
a6890bbaba
Fixed https://github.com/google/gson/issues/1310 (#1311)
* Fixed https://github.com/google/gson/issues/1310

Also renamed VersionUtils to more readable abstraction JavaVersion
Added support for debian naming convention
Using min supported version (6) as the default if JDK version can't be figured out

* Moved JavaVersion to an internal package
2018-05-09 13:10:08 -07:00
Inderjeet Singh
446a3bff8d [maven-release-plugin] prepare for next development iteration 2018-05-01 11:06:37 -07:00
Inderjeet Singh
9fbebdf990 [maven-release-plugin] prepare release gson-parent-2.8.4 2018-05-01 11:06:25 -07:00
inder123
049bf84e68
Using sun.misc.Unsafe only through reflection to avoid binary dependency (#1306)
If sun.misc.Unsafe not found on Java 9, try field.setAccessible
Also removed exception traces when sun.misc.Unsafe or override are not found
2018-05-01 09:57:45 -07:00
inder123
941363f14c
Added gradle/Idea support (#1302) 2018-04-30 09:54:24 -07:00
inder123
1b28ff3cda
Added a test for deserialization of fields using lowercase-dot naming policy (#1303) 2018-04-27 18:54:48 -07:00
Leon
ab35f11077 add FieldNamingPolicy.LOWER_CASE_WITH_DOTS (#1278) 2018-04-27 18:50:08 -07:00
Inderjeet Singh
7dd379ffe1 [maven-release-plugin] prepare for next development iteration 2018-04-27 15:34:26 -07:00
Inderjeet Singh
4ed639e882 [maven-release-plugin] prepare release gson-parent-2.8.3 2018-04-27 15:34:15 -07:00
Lyubomyr Shaydariv
bdea5b9e99 Removed the executable flag from clearly text files 2018-04-26 10:23:15 +03:00
Inderjeet Singh
4081dbaa6d Added a test for serialization/deserialization of enum classes with
fields
2018-03-17 16:00:46 -07:00
Andrey Mogilev
8445689e4d Java 9 support: use Unsafe-based reflection in Java 9+ (#1218)
* Java 9 support: use Unsafe-based reflection in Java 9+

fixes "illegal reflective access" warnings and exceptions

* fix Codacy warnings

* improve code quality based on PR review

* improve code quality based on PR review

* fix Codacy warning

* improve code quality based on PR review

* inlined createReflectionAccessor method
2018-01-04 00:38:50 +05:30
Andrey Mogilev
0aaf5ff408 fix Java9 DateFormat changes (#1211)
* fix Java9 DateFormat changes

* fix Codacy warnings
2017-12-30 00:44:43 +05:30
Anirudh Ramanan
3bf1967c0a Optimised the create() call for Excluder TypeAdapterFactory (#1199)
* optimized the create() method, excludeClass used to get called two times, changed it to one

* fixed the create() method, and added support to disableAnonymousAndLocalClassSerialization

* peek only once

* enable anonymous and local class serialization

* bugfix

* removed the method, will raise it as a separate PR
2017-12-28 06:03:45 +05:30
michaelsavich
7ddac52748 Java 9 module (#1179)
* Add module-info.java

* Exclude module-info.java by default
2017-12-26 21:58:19 +05:30
Trung Do
855f0493d0 Fix a small typo (#1183) 2017-10-31 11:43:24 -07:00
Andrey Mogilev
b1fb9ca9a1 fix issue #1107: resolve element type in wildcard collection types (#1146)
* fix issue #1107: resolve element type in wildcard collection types

* fix Codacy warnings

* fix Codacy warnings
2017-09-21 17:50:41 -07:00
Warren Smith
08bbb226f1 Add newBuilder() API (#1142)
* Add Gson.newBuilder API.

* Remove redundant test.

* Address Codacy comments.

* Reduce visibility of GsonBuilder constructor.
2017-09-20 18:53:10 -07:00
Inderjeet Singh
c0b50ba3a3 [maven-release-plugin] prepare for next development iteration 2017-09-19 18:41:44 -07:00
Inderjeet Singh
d90f63dc88 [maven-release-plugin] prepare release gson-parent-2.8.2 2017-09-19 18:41:34 -07:00
Nels Beckman
ddcd6aea7d Update fromJson Javadoc. (#1151)
For the string-based fromJson() method, mention that the result will be null if the given string is empty.
2017-09-18 00:08:22 -07:00
Lyubomyr Shaydariv
7a9fd5962d Fixed DefaultDateTypeAdapter nullability issue and JSON primitives contract (#1100)
* Fixed DefaultDateTypeAdapter nullability issue and JSON primitives contract

Regression in:

* b8f616c939 - Migrate DefaultDateTypeAdapter to streaming adapter (#1070)

Bug reports:

* https://github.com/google/gson/issues/1096 - 2.8.1 can't serialize and deserialize date null (2.8.0 works fine)
* https://github.com/google/gson/issues/1098 - Gson 2.8.1 DefaultDateTypeAdapter is not null safe.

* Fixed DefaultDateTypeAdapter nullability on write
2017-09-17 23:49:13 -07:00
Warren Smith
d9cc7bc60b Make GsonBuilder.create() factory order idempotent. (#1141) 2017-08-14 08:56:16 -07:00
Tom Magnusson
68cf8fdc95 fix typo in ConstructorConstructor exception 2017-08-03 09:28:31 -04:00
Andrey Mogilev
03a72e752e Fix StackOverflowError on resolving types with TypeVariable recursion (#1128)
* Fix StackOverflowError on resolving types with TypeVariable recursion

Sample failing code:
  private static class TestType<X> {
    TestType<? super X> superType;
  }
  ...
  new Gson().getAdapter(TestType.class);

* fix build errors
2017-07-31 10:50:29 -07:00
Igor Mysak
ee691fba43 fix javaDoc (#1122) 2017-07-21 10:12:25 -07:00
inder123
3090a7ed2a Made deepCopy public (#1091)
* Made deepCopy public

* since 2.8.2
2017-05-31 10:33:37 -07:00
Mike
ada597e69a value(double) can write NaN and infinite values when lenient, as value(Number) does (#1093)
* Added test which shows that lenient JsonWriter fails writing infinite primitive doubles, but does not fail writing boxed doubles, as stated in #1090.

* Fixed JsonWriter#value(double) to write infinite and NaN values when lenient, as JsonWriter#value(Number) does. (fixes #1090)
2017-05-31 09:50:44 -07:00
Inderjeet Singh
0aaef0fd1b [maven-release-plugin] prepare for next development iteration 2017-05-30 18:38:01 -07:00
Inderjeet Singh
3e74bb47d1 [maven-release-plugin] prepare release gson-parent-2.8.1 2017-05-30 18:37:51 -07:00
Lyubomyr Shaydariv
b8f616c939 Migrate DefaultDateTypeAdapter to streaming adapter (#1070) 2017-05-30 18:12:50 -07:00
Andrey Mogilev
a300148003 Fix StackOverflowError on resolving recursive types by collapsing chains of type bounds (#1075)
* Fixes StackOverflowError on resolving recursive types.

See Issue #440, Issue #603, tests.

* fix 'codacy' coding style warnings

* added copyright header
2017-05-30 17:47:04 -07:00
sourabh gupta
5848096f3e Size allocation of StringBuilder (#1047)
Size allocation of StringBuilder
2017-05-24 15:49:09 -07:00
James Carman
f7012e5865 Adding maven-bundle-plugin. (#1071) 2017-05-24 15:25:50 -07:00
Jake Wharton
b58de2f4ae Merge pull request #1073 from lyubomyr-shaydariv/public-tojson
Remove helper methods mentioned in the TODO list
2017-05-02 10:37:11 -04:00
Lyubomyr Shaydariv
eb27d55f49 Remove helper methods mentioned in the TODO list 2017-04-23 15:54:10 +03:00
Eric Cochran
3270e8d972 Remove need for synthetic accessor methods. 2017-04-22 17:32:59 -07:00
inder123
5412f21431 Printing more debugging information to help track an invalid JsonAdapter. (#1068)
Now the thrown exception carries this information:
java.lang.IllegalArgumentException: Invalid attempt to bind an instance of java.lang.Integer as a @JsonAdapter for com.google.gson.functional.JsonAdapterAnnotationOnClassesTest$D. @JsonAdapter value must be a TypeAdapter, TypeAdapterFactory, JsonSerializer or JsonDeserializer.
2017-04-19 17:08:21 -07:00
Michele Vivoda
9a2421997e negative zero test and fix (#1069) 2017-04-19 14:26:36 -07:00
Mohammad Yasir
92b52d25d8 Performance fix to avoid reflection-based initialization of null key surrogate 2017-04-12 16:11:20 -04:00
sourabh gupta
441fa98735 Simplified access of getSimpleName (#1042)
* Simplified access of getSimpleName

instead of calling getClass.getSimpleName() that will check too many conditions inside , we can make it as final String and use it directly.

* Simplified access of getSimpleName

making string as static

* Simplified access of getSimpleName

Code Review changes
2017-03-20 14:25:52 -07:00
Jesse Wilson
423ff04a75 Merge pull request #1037 from guptasourabh/master
elimiating code overhead
2017-03-18 15:34:09 -04:00
guptasourabh
8101ab74e9 list addition optimization (#1038)
* list addition optimization

* Optimized imports

Optimized imports
2017-03-16 21:16:38 -07:00
Sourabh Gupta
d0e70bcdbf elimiating code overhead 2017-03-15 22:41:42 +05:30
guptasourabh
fd37cf1d0d JsonArray with capacity in constructor (#1033)
JsonArray with capacity in constructor
2017-03-12 19:59:41 -07:00
Anirudh Ramanan
9e44d60b83 Eliminating code overhead
* calculating size of the list once in case of loops, avoided creation of string builder object if the length type argument is 0
* replaced null check boilerplate code with nullSafe()
2017-03-01 11:13:56 -05:00
Mohammad Yasir
4644837207 Incorporating the review comments. While more than 1 charachter might be read from the buffer the output will have only one escaped charachter. 2017-02-17 11:54:30 +05:30
Jesse Wilson
2d072bae3a Merge pull request #1015 from yasirmhd/master
Memory optimisation in JsonReader
2017-02-16 22:58:16 -05:00
Mohammad Yasir
9c30b0e203 Incorporating code review suggestions 2017-02-17 07:25:23 +05:30
André Rouél
9e6f2bab20 Fix ArrayIndexOutOfBoundsException when skipping a value with JsonTreeReader #1013 (#1014) 2017-02-15 18:41:39 -08:00