-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Add System.Text.Json support for F# discriminated unions #125610
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
Merged
Merged
Changes from all commits
Commits
Show all changes
38 commits
Select commit
Hold shift + click to select a range
8c176f6
Add System.Text.Json support for F# discriminated unions
eiriktsarpalis 28bfa24
Fix IL2121 build errors: replace unused UnconditionalSuppressMessage …
eiriktsarpalis 7064f6b
Fix CS0117: use FormatterServices.GetUninitializedObject on netstanda…
eiriktsarpalis 68b67c5
Address PR review feedback for F# union converter
eiriktsarpalis f1a6ae4
Merge branch 'main' into feature/fsharp-unions
eiriktsarpalis 9f5dd92
Merge branch 'main' into feature/fsharp-unions
eiriktsarpalis 30dec36
Respect UnmappedMemberHandling in FSharpUnionConverter
eiriktsarpalis fc72410
Replace #pragma with [UnconditionalSuppressMessage] for IL2055
eiriktsarpalis 29e5eeb
Simplify union converter: always scan ahead for discriminator
eiriktsarpalis 2f88313
Case-insensitive discriminator/field conflict check and JsonTypeInfo …
eiriktsarpalis 5153a0e
Address remaining review feedback
eiriktsarpalis 7b2ca20
Remove duplicate discriminator detection
eiriktsarpalis 0e4faa4
Add cross-reference comment to ObjectDefaultConverter
eiriktsarpalis 35f8d90
Remove 64-field limit by replacing long bitmask with BitArray
eiriktsarpalis 4e22e94
Simplify tag array sizing
eiriktsarpalis e2bf97a
Add ValueBitArray and use it in FSharpUnionConverter
eiriktsarpalis 736436b
Revert "Add ValueBitArray and use it in FSharpUnionConverter"
eiriktsarpalis 625ff15
Avoid BitArray allocation when RespectRequiredConstructorParameters i…
eiriktsarpalis 8f5f005
Honor AllowDuplicateProperties and remove dead null check
eiriktsarpalis 985c312
Forward reference handling state to nested field converters
eiriktsarpalis 0ff8043
Address review feedback: duplicate discriminator, error formatting, c…
eiriktsarpalis 612a1a4
Honor field-level JsonConverter and JsonNumberHandling attributes
eiriktsarpalis cbaa0b8
Handle $id/$ref metadata in union deserialization
eiriktsarpalis 890d7d3
Improve / metadata handling in union deserialization
eiriktsarpalis 096f9b3
Fix CS8604 nullable warning in FieldReader invocation
eiriktsarpalis 5cb8373
Add test verifying struct unions don't emit $id metadata
eiriktsarpalis 0075ff2
Add test: fieldless struct union stays string with Preserve
eiriktsarpalis 552f8a1
Validate / token types during deserialization
eiriktsarpalis 8bece6e
Reuse GetMetadataPropertyName for / detection
eiriktsarpalis 5b7d1f9
Consolidate metadata property detection into single GetMetadataProper…
eiriktsarpalis cf661f1
Revert "Consolidate metadata property detection into single GetMetada…
eiriktsarpalis 8535824
Consolidate metadata reading into initial scan
eiriktsarpalis 15e6743
Harden metadata handling: duplicates, validation, unescaped spans
eiriktsarpalis d6f2315
Consolidate field reading into single second-pass loop
eiriktsarpalis 4e82a44
Fix IL2075 linker error and unused variable
eiriktsarpalis 076124d
Continue scanning for after discriminator, assert TryRead/TryWrite
eiriktsarpalis 39c5579
Unify missing-property error formatting
eiriktsarpalis 7bd5129
Fix IL2121 linker error and add T-Gro test coverage
eiriktsarpalis File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.