Mono's support for System.Reflection.Emit must be brought to the same level as CoreCLR's. From the top down, this requires:
Known Issues
- No lexical scope support for MethodBuilder/ILGenerator: Our implementation does not support using namespaces for resolving locals, and BeginScope()/EndScope() are no-ops currently.
- The following methods do not have tests/meaningful usage within
dotnet/runtime:
- ModuleBuilder.GetFieldToken
- ModuleBuilder.GetSignatureToken(byte[], int)
- ILGenerator.UsingNamespace
- ILGenerator.EndScope
Known issues with sharing code
interface ISymbolWriter is both tied heavily with coreclr (see CreateISymWriterForDynamicModule) and ILGenerator/MethodBuilder.
- Mono's ModuleBuilder must match memory layouts with the Mono internal struct
MonoModule.
Discussion
We can share progress/ask questions in the comments.
Mono's support for System.Reflection.Emit must be brought to the same level as CoreCLR's. From the top down, this requires:
Known Issues
dotnet/runtime:Known issues with sharing code
interface ISymbolWriteris both tied heavily with coreclr (seeCreateISymWriterForDynamicModule) and ILGenerator/MethodBuilder.MonoModule.Discussion
We can share progress/ask questions in the comments.