Commit Graph

786 Commits

Author SHA1 Message Date
Simon Guerout
ac14b4c197 Make the nextJsonElement more robust
Add test cases
2021-08-30 09:57:08 -07:00
Simon Guerout
62a9702385 Improve the speed of the JSON_ELEMENT TypeAdapter when the object graph has already been turned into a JsonElement 2021-08-30 09:57:08 -07:00
Éamonn McManus
69173b02ea
Merge branch 'master' into optional-sql 2021-08-24 13:41:12 -07:00
YOUNG HO CHA
59a8aedb37 Use SecurityManager to read enum fields 2021-08-04 12:24:55 +09:00
YOUNG HO CHA
20720d6a40 Remove unnecessary catch block 2021-08-04 12:03:28 +09:00
YOUNG HO CHA
6ac9f7d840 Suppress unchecked type cast warning 2021-08-04 12:03:21 +09:00
YOUNG CHA
68f99f2440 Make EnumTypeAdapter friendly with obfuscation
When enum value was obfuscated by proguard, EnumTypeAdapter raise NoSuchFieldException even if apply SerializedName annotation.
Because EnumTypeAdapter cannot find obfuscated enum constant field with its name.
2021-08-04 12:02:47 +09:00
Éamonn McManus
63e747f7f4
Merge pull request #1712 from rhernandez35/master
Fix fallback behavior of UnsafeReflectionAllocator when AccessibleObject isn't so accessible
2021-08-03 17:27:54 -07:00
Éamonn McManus
425cb25549 Adjust some minor details of #1391.
Use two-space indentation for the new test.
Use standard Google import style.
Supply missing type argument for `TypeVariable`.
2021-08-02 17:33:10 -07:00
Éamonn McManus
d65960b001
Merge pull request #1391 from mcumings/issue1390
Fix issue with recursive type variable protections to fix #1390
2021-08-02 16:43:19 -07:00
Marcono1234
b1edb70486 Improve incorrect JsonStreamParser doc 2020-09-19 13:30:50 +02:00
Richard Hernandez
b39494dbe6 Fix fallback behavior of UnsafeReflectionAllocator when AccessibleObject isn't so accessible 2020-05-26 20:12:36 -07:00
Marcono1234
a4a235e14a Remove redundant validation method 2020-05-24 23:54:32 +02:00
Marcono1234
380c4ec12c Make dependency on java.sql optional 2020-05-23 23:30:53 +02:00
Marcono1234
361292f1c1 Fix warnings 2020-05-09 17:34:53 +02:00
Marcono1234
541252a9fb Implement DefaultDateTypeAdapter in a type safer way 2020-05-09 17:34:52 +02:00
Matthew Lee
55acc23d86
Fixing https://github.com/google/gson/issues/1592 (#1623)
adding null parameter check to name(), fixing the issue and being consistent with superclass behavior
2020-03-02 14:57:42 -08:00
Gabriel Basilio Brito
fa947212e0
Add isEmpty method to JsonArray class (#1640)
The method will return true if the array is empty and false if it's not
2020-03-02 14:52:37 -08:00
Marcono1234
530cb74470
Fix javadoc doclint HTML warnings (#1653) 2020-02-17 14:46:15 -08:00
Degubi
9bf25c2eb6 Refactor prefix array & loop logic, use if-s instead (#1505) 2019-10-04 13:45:06 -07:00
Degubi
20dca860dd Add docs to module-info.java (#1535) 2019-10-03 15:51:18 -07:00
David Maplesden
3958b1f78d Prefer writing chars instead of strings of length one (#1576)
This results in a noticeable performance improvement with most writer
implementations (including BufferedWriter).
2019-09-18 10:33:49 -07:00
Degubi
63ee47cb64 Refactor uppercaseFirstLetter, add additional field to test (#1515) 2019-04-26 15:49:22 -07:00
Degubi
c5a3f21fba Refactor JsonParser to statics & fix tests 2019-04-15 22:35:10 -04:00
Degubi
477b3f77e1 Refactor primitives class 2019-04-15 11:08:31 -04:00
Degubi
46d0f58d12 Remove unnecessary explicit else statement 2019-04-05 16:20:06 +02:00
Degubi
3ee3c150ed Remove boolean wrappers in JsonElement 2019-03-31 21:28:12 +02:00
Degubi
fc63a6af4c Make sql module dependency transitive (#1500) 2019-03-29 09:34:12 -07:00
Manuel Kollus
5370b076e3 Removing 'final' accessor from constructor (#1501) 2019-03-28 09:22:36 -07:00
Degubi
8bf2949c29 Remove object based constructors, remove some internal stuff 2019-03-11 10:53:31 -04:00
Degubi
bac26b8e42 Optimize array copies 2019-03-05 12:12:04 -05:00
Lorenz Nickel
b75e1bbc79 Code cleanup (Removed spaces) (#1474)
* Removed double spaces in comments

* Unified comments

* Removed space

* Removed spaces in code
2019-03-03 11:18:06 -08:00
Márton Braun
4d942db168 Update Gson.java documentation to explicitly state behavior for empty strings (#1464) 2019-02-17 00:32:43 -08:00
Piet van Dongen
5bbc768fa6 Fix JPMS module setup (fixes #1315) (#1402)
* Fix JPMS module setup (fixes #1315)

* Re-added cause to AssertionErrors
2018-10-18 08:49:08 -07:00
Mike Cumings
69f7c4e243 Replace instance equality checks in $Gson$Types#resolve 2018-09-26 22:38:53 -07:00
Mike Cumings
e2296f42d5 Fix issue with recursive type variable protections to fix #1390
When a type variable is referenced multiple times it needs to resolve
to the same value.  Previously, the second attempt would abort
resolution early in order to protect against infinite recursion.
2018-09-25 16:09:48 -07:00
Eric Cochran
92b6173791 Deprecate JsonElement.getAsCharacter 2018-07-30 13:44:21 -04:00
joel-leitch
4c685b21a8 Private constructor (#1324)
* Adding private constructors on Util classes

* Remove obsolete step
2018-05-21 20:04:22 -07:00
inder123
d84e26d80c
Issue 1242: Printing Gson version when throwing AssertionError and IllegalArgumentException (#1321)
On some versions of Android (probably on some variants of the popular Samsung S4 phone), an older version of Gson is suspected to be bundled in, and gets picked up from the system classpath.
For those versions, the applications that include the latest Gson fail unexpectedly. This debug print will help confirm this issue.
2018-05-17 09:41:21 -07:00
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
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
Leon
ab35f11077 add FieldNamingPolicy.LOWER_CASE_WITH_DOTS (#1278) 2018-04-27 18:50:08 -07:00
Lyubomyr Shaydariv
bdea5b9e99 Removed the executable flag from clearly text files 2018-04-26 10:23:15 +03: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