Implement the logic for IMetaDataEmit::TranslateSigWithScope (and IMetaDataEmit::ImportTypeDef) in dnmd::interfaces.
As this logic is really complex, and is the only code that needs to do signature walking, I wanted to implement it in a separate PR from the IMetaDataEmit PR to help reduce the size and complexity of that one.
This PR still needs tests. I think I'll finally add a "make a new Metadata image" API to dnmd (in a separate PR) to enable us to add unit tests for bespoke scenarios (the majority of the code in this PR is bespoke scenarios that will be difficult to test by only using existing assemblies).
Implement the logic for
IMetaDataEmit::TranslateSigWithScope
(andIMetaDataEmit::ImportTypeDef
) indnmd::interfaces
.As this logic is really complex, and is the only code that needs to do signature walking, I wanted to implement it in a separate PR from the
IMetaDataEmit
PR to help reduce the size and complexity of that one.This PR still needs tests. I think I'll finally add a "make a new Metadata image" API to
dnmd
(in a separate PR) to enable us to add unit tests for bespoke scenarios (the majority of the code in this PR is bespoke scenarios that will be difficult to test by only using existing assemblies).