ObjectLayoutInspector icon indicating copy to clipboard operation
ObjectLayoutInspector copied to clipboard

Fix for Unions, Padding, x86/x64, some .NET versions sanity check in tests

Open Technus opened this issue 11 months ago • 2 comments

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.

Technus avatar Feb 13 '25 00:02 Technus

Tha change looks very promissing. Thanks a lot!

SergeyTeplyakov avatar Feb 14 '25 21:02 SergeyTeplyakov

Also enforced Padder to insert padding even for empty/not full classes/structs.

Technus avatar Feb 17 '25 23:02 Technus