Skip to content

Split TypeMapAssemblyEmitter.cs into partial class files#11405

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/fix-finder-split-typemapassemblyemitter
Draft

Split TypeMapAssemblyEmitter.cs into partial class files#11405
Copilot wants to merge 2 commits into
mainfrom
copilot/fix-finder-split-typemapassemblyemitter

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 18, 2026

TypeMapAssemblyEmitter.cs was 1712 lines with two distinct logical sections intermixed: assembly structure emission and IL method body emission. Split into partial class files for readability.

  • TypeMapAssemblyEmitter.cs (805 lines): Assembly infrastructure — fields, constructor, Emit/EmitCore, type/member references, proxy type orchestration, attribute emission, generic type utilities
  • TypeMapAssemblyEmitter.MethodBodies.cs (919 lines): IL body emission — EmitCreateInstance*, EmitUco*, EmitManagedConstructor*, EmitRegisterNatives, AddUnmanagedCallersOnlyAttribute, marshal encoding helpers

Pure file-organization refactoring. No logic, signature, or visibility changes. SDK-style csproj with implicit globbing means no project file update needed.

Move IL method body emission methods (EmitCreateInstance*, EmitUco*,
EmitManagedConstructor*, WriteManagedTypeSignature, EmitRegisterNatives,
AddUnmanagedCallersOnlyAttribute, AddActivationCtorRef, AddManagedCtorRef)
into TypeMapAssemblyEmitter.MethodBodies.cs.

Keep assembly infrastructure methods in the original file.
No functional changes.

Agent-Logs-Url: https://github.com/dotnet/android/sessions/6b5e841c-b76a-4a06-8127-5f96ee3d0440

Co-authored-by: jonathanpeppers <[email protected]>
Copilot AI changed the title [WIP] Split TypeMapAssemblyEmitter.cs into partial class files Split TypeMapAssemblyEmitter.cs into partial class files May 18, 2026
Copilot AI requested a review from jonathanpeppers May 18, 2026 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix-finder] Split TypeMapAssemblyEmitter.cs (1712 lines) into partial class files

2 participants