Ensure JSON TryGetXXX sets values to default if returning false dotnet/corefx#37119...
authorChristopher Watford <christopher.watford@ge.com>
Wed, 12 Jun 2019 06:01:10 +0000 (02:01 -0400)
committerAhson Khan <ahkha@microsoft.com>
Wed, 12 Jun 2019 06:01:10 +0000 (23:01 -0700)
commit3e90313cc8e891c4f67e1b6cea1c0f8aba88556a
treed67258383ba12069d870cd838d33fc18650d4a45
parent3c3d52071d6f540fc08af9f6f39d136c47ceee84
Ensure JSON TryGetXXX sets values to default if returning false dotnet/corefx#37119 (dotnet/corefx#37838)

* Add tests to ensure TryGetXXX returns default on false dotnet/corefx#37119

* Ensure TryGetXXX value is default when result is false dotnet/corefx#37119

* Ensure JsonDocument's TryGetXXX use default value on false dotnet/corefx#37119

* Ensure value never leaks on exception path per PR review

- Also use `0` with non-generic default assignments to primitive number types per PR review

Commit migrated from https://github.com/dotnet/corefx/commit/f2c2e2f5907c66f9c4912db55f2cb34923059ea6
src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonDocument.cs
src/libraries/System.Text.Json/src/System/Text/Json/Reader/JsonReaderHelper.cs
src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.TryGet.cs
src/libraries/System.Text.Json/tests/JsonDocumentTests.cs
src/libraries/System.Text.Json/tests/Utf8JsonReaderTests.TryGet.cs