Support unknown json data and add internal set/clear field methods for generated accessors. #918
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.
Add support for unknown fields to JSON (de-)serialized proto messages. This allows data to be roundtripped from a server via this format without dropping fields when the client doesn't contain metadata for some fields.
Store the data as decoded but unparsed json and append it back to the message when re-serializing a message.
Ignore unknown json data for equality/hashing to preserve existing behavior for users. Taking this data into account would change the result of existing
==
andhashCode
calls.By separating out
$_setField
and$_clearField
this allows one to differentiate reflective uses ofsetField
andclearField
(i.e. from user code, usually with the result ofgetTagNumber
) vs. internal uses from the generated accessors.Fixes #49.
cl/611522109
cl/612283849