Merge master to develop#2267
Merged
Merged
Conversation
Fix repo url
Touch-ups to master
…rator Fix Source Generator doesnt work in Unity
Add memory size check to `GetMemoryCheckResult`
AccessModifier was added to generated code.
Union type keys set with are usually small positive integers, likely to fit in a single byte. As late as version 2.5.198, the library would encode [Union(0, typeof(Foo))] as two bytes 0x92 0x00 (one for "two-element array", and one for the 0 integer key), followed by the serialization of type Foo. In version 3.1.4, [Union(0, typeof(Foo))] is instead encoded as six bytes 0x92 0xD2 0x00 0x00 0x00 0x00 (one for "two-element array", one for "32-bit integer", and the four bytes of the 0 integer key). Although the two representations are compatible, for code bases that use many small polymorphic objects, the migration from 2.x to 3.x would lead to a significant increase in the size of the serialized data. This behavior is caused by the generated code for the interface using `WriteInt32` (which always encodes the integer as five bytes), and is fixed by instead using `Write` (which uses the smallest possible number of bytes for its argument).
* [WIP} Remove unneeded GetTypeInfo() calls Improve performcance by removing unneeded GetTypeInfo() calls * typeof(T) reuse * Remove AsType() calls * Revert IsSupportedType with TypeInfo * Fix code review remarks
Union type keys set with are usually small positive integers, likely to fit in a single byte. As late as version 2.5.198, the library would encode [Union(0, typeof(Foo))] as two bytes 0x92 0x00 (one for "two-element array", and one for the 0 integer key), followed by the serialization of type Foo. In version 3.1.4, [Union(0, typeof(Foo))] is instead encoded as six bytes 0x92 0xD2 0x00 0x00 0x00 0x00 (one for "two-element array", one for "32-bit integer", and the four bytes of the 0 integer key). Although the two representations are compatible, for code bases that use many small polymorphic objects, the migration from 2.x to 3.x would lead to a significant increase in the size of the serialized data. This behavior is caused by the generated code for the interface using `WriteInt32` (which always encodes the integer as five bytes), and is fixed by instead using `Write` (which uses the smallest possible number of bytes for its argument).
This PR fixes a memory leak in Json Serializer and other small disposable issues
Fix Incorrect DateTimeOffset Serializer
Fix various disposable issues
…-generation fix: prevent StackOverflow in Equals with recursive generic constraints
These files are produced by the new C# Dev Kit extension.
Fix typo and ignore .lscache files
Build with .NET SDK 10.0.300
…zation Add more types to the default disallow list of named types to be deserialized
Revert DateTimeOffset encoding change
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.