The main point of this change is to allow for improved import -- whether that is automatic import from PDBs (which fails with bitfields today) or, eventually, import from SDK headers.
There are a number of improvements here (mostly brought over from the "work in progress" header import branch). The most significant of these is the support for bitfields (both automatic and manual layout). Adding a field can now specify an automatic bitfield with types like "int:3" or a manual bitfield via a new "details" object based argument having .BitFieldPosition/.BitFieldLength.
Other changes included here:
Support for unnamed/anonymous types
Adding extensibility points on the symbol builder to allow for other extensions to be able to add functionality
Fixing issues around pointer-to-pointer-to- fields
Adding "size_t" as a basic C type
New .FindTypeByName API
Unit tests have been added for bitfields including automatic layout, manual layout, mixed layout, and layout flow with rearrangement of fields.
The main point of this change is to allow for improved import -- whether that is automatic import from PDBs (which fails with bitfields today) or, eventually, import from SDK headers.
There are a number of improvements here (mostly brought over from the "work in progress" header import branch). The most significant of these is the support for bitfields (both automatic and manual layout). Adding a field can now specify an automatic bitfield with types like "int:3" or a manual bitfield via a new "details" object based argument having .BitFieldPosition/.BitFieldLength.
Other changes included here:
Unit tests have been added for bitfields including automatic layout, manual layout, mixed layout, and layout flow with rearrangement of fields.