New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stop initializing members to their default values when deserializing where no data was provided for that member #1095
Conversation
…rp#1092 commit d7a50b9 Merge: 02ae418 5a6cda6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:33:45 2020 +0900 Merge remote-tracking branch 'upstream/develop' into solution#1085-mpc commit 02ae418 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:25:20 2020 +0900 Update: Loop demonstration commit d84ae75 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:24:31 2020 +0900 Change: drop deserialized value -> reader.Skip() commit 9b0d4a2 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 00:27:10 2020 +0900 Fix: remove unused boolean local variables commit fdfabeb Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 00:00:28 2020 +0900 Update: Make the same as Dynamic commit bef4692 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 19:37:11 2020 +0900 Add test project commit a8fac80 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:55:27 2020 +0900 Add types to sandbox commit 6ffc3c3 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:45:40 2020 +0900 Update: string-key mpc.exe commit 44819e6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:05:24 2020 +0900 Update: int-key mpc.exe commit 0a2fef4 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:12:57 2020 +0900 Fix: var -> global::MessagePack.IFormatterResolver commit 086aa11 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:05:21 2020 +0900 Fix: Line Feed commit 39d3d08 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:03:37 2020 +0900 Fix: space commit c57f423 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:00:32 2020 +0900 Change: var to globall:: Revert: DepthStep position Revert: }#> -> } #> commit de6fd23 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sat Oct 24 11:04:44 2020 +0900 fix CRLF commit 4b6ae7c Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sat Oct 24 10:59:50 2020 +0900 Change the format to decrease template part lines. Change the iterator `i` type from `int` to `var`. commit 95f41ad Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Fri Oct 23 21:03:54 2020 +0900 This is a cherry-pick of MessagePack-CSharp#1074. This is a refactoring of int-key mpc.exe tt file.
…rp#1091 commit 5fbf110 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 18:12:45 2020 +0900 make BuildDeserialize easy to understand commit 292badc Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 13:47:48 2020 +0900 Update: Rename LocalField -> LocalVariable commit 007e338 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 13:12:38 2020 +0900 Add test code for setter call after explicit constructor commit 5181801 Merge: 5948fc0 5a6cda6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 12:59:36 2020 +0900 Merge branch 'develop' of https://github.com/neuecc/MessagePack-CSharp into solution#1085-Dynamic commit 5948fc0 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 21:18:12 2020 +0900 Add tests commit 96aaa6a Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 20:25:44 2020 +0900 Update: DynamicObjectResolver
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
This looks like it must have been a big job to develop. I think it's a good change.
wait a moment, I'll comment it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for delayed response.
I've checked and this is well optimize to minimize use of flag.
Thanks!
Background
The old MessagePack-CSharp deserialize input
{ "Prop1": "Set" }
as{ "Prop1": "Set", "Prop2": null }
.It sets default value when the corresponging properties do not show in the input
byte[]
.This behaviour is undocumented and undesirable.
There are 2 draft PRs.
Fixes #1085