Fix for Unions, Padding, x86/x64, some .NET versions sanity check in tests
Changed null checks to pattern matching to avoid ==/!= overloads. Added testing for more .NET platforms. Fixed failing test was MASTER_STRUCTFieldsRecursive by: Added Declaring class Sorting. Added Interleaved Padding support.
TODO:
-
[x] Needs check if behavioir is repeatable on x86/x64 - added tests as it might change the alignment layout. (Count of paddings might change) - Added tests
-
[x] Also it seems that the struct packing behavioir changes based on .NET version. (So counts of paddings may vary) - Added tests to .net framework and core
-
[x] Added some support for Inline Arrays (.Net 8) and tests
AFAIK This will not make the code output invalid values for fields but hardcoded test assertions might make the tests fail.
Tha change looks very promissing. Thanks a lot!
Also enforced Padder to insert padding even for empty/not full classes/structs.