Only create one BoundField
instance per field in ReflectiveTypeAdapterFactory
#2440
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Fixes #2438
Description
Instead of creating a
BoundField
for every possible name of a field (for@SerializedName
usage) and then storing for thatBoundField
whether it is serialized or deserialized, instead only create oneBoundField
and then have a separateMap<String, BoundField>
for deserialized fields, and a separateList<BoundField>
for serialized fields.This shouldn't cause any changes visible to the user.
Not sure if this implementation is clean enough; feedback is appreciated!
Checklist
null
@since $next-version$
(
$next-version$
is a special placeholder which is automatically replaced during release)TestCase
)mvn clean verify javadoc:jar
passes without errors