dotnet / symstore

Implements API for retrieval of symbols and other debug artifacts from symbol store.
MIT License
143 stars 50 forks source link

Pointer layout changes #382

Closed mikem8361 closed 1 year ago

mikem8361 commented 1 year ago

Delay getting a Pointer's target type layout until the pointer's target is dereferenced to avoid recursion/stack overflow when creating the layout for types that have a field that a Pointer to itself.

This does change some protected fields in the PointerLayout (_storageLayout, _targetLayout) and Pointer (_targetLayout) classes but I think the chances are very low that some one depends on them.

Added LayoutManager.AddReflectionTypes override with a typeFilter that allows duplicated code to be removed from the DCR.