-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed
Labels
area-VM-reflection-monoReflection issues specific to MonoVMReflection issues specific to MonoVMruntime-monospecific to the Mono runtimespecific to the Mono runtimetrackingThis issue is tracking the completion of other related issues.This issue is tracking the completion of other related issues.
Milestone
Description
Mono's support for System.Reflection.Emit must be brought to the same level as CoreCLR's. From the top down, this requires:
- Filling in remaining non-implemented System.Reflection.Emit API as documented in Epic: .NET 5 APIs mono/mono#14788
- Developing Mono to pass the remaining System.Reflection.Emit library tests (tracked in [mono] Tests failed: System.Reflection.Emit.Tests #2389 & [mono] Tests failed: System.Reflection.Emit.ILGeneration.Tests #2383) for:
- MethodBuilder
- ConstructorBuilder
- EnumBuilder
- FieldBuilder
- GenericTypeParameterBuilder
- ModuleBuilder
- PropertyBuilder
- TypeBuilder
- ILGenerator
- SignatureHelper
- Exploring all opportunities to share code with CoreCLR
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 ISymbolWriteris both tied heavily with coreclr (seeCreateISymWriterForDynamicModule) 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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area-VM-reflection-monoReflection issues specific to MonoVMReflection issues specific to MonoVMruntime-monospecific to the Mono runtimespecific to the Mono runtimetrackingThis issue is tracking the completion of other related issues.This issue is tracking the completion of other related issues.