Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mono] Full support for System.Reflection.Emit #37794

Open
13 tasks
alexischr opened this issue Jun 12, 2020 · 4 comments
Open
13 tasks

[mono] Full support for System.Reflection.Emit #37794

alexischr opened this issue Jun 12, 2020 · 4 comments
Assignees
Labels
area-VM-reflection-mono Reflection issues specific to MonoVM runtime-mono specific to the Mono runtime tracking This issue is tracking the completion of other related issues.
Milestone

Comments

@alexischr
Copy link
Contributor

alexischr commented Jun 12, 2020

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.

@alexischr alexischr self-assigned this Jun 12, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jun 12, 2020
@alexischr alexischr removed the untriaged New issue has not been triaged by the area owner label Jun 12, 2020
@alexischr alexischr added this to the 6.0.0 milestone Jun 22, 2020
@marek-safar marek-safar added runtime-mono specific to the Mono runtime and removed area-CoreLib-mono labels Jun 30, 2020
@steveharter
Copy link
Member

Changing area to interop-Mono. Please add a "reflection.emit-Mono" area if desired.

@fanyang-mono
Copy link
Member

Low priority - Moving to Milestone 8.0.0

@fanyang-mono fanyang-mono modified the milestones: 7.0.0, 8.0.0 Aug 1, 2022
@fanyang-mono
Copy link
Member

Moving to 9.0.0

@fanyang-mono
Copy link
Member

cc: @ivanpovazan

@fanyang-mono fanyang-mono modified the milestones: 8.0.0, 9.0.0 Jul 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-VM-reflection-mono Reflection issues specific to MonoVM runtime-mono specific to the Mono runtime tracking This issue is tracking the completion of other related issues.
Projects
None yet
Development

No branches or pull requests

7 participants