[TrimmableTypeMap][Core A] Foundation model and metadata providers#10816
Closed
simonrozsival wants to merge 6 commits intodotnet:mainfrom
Closed
[TrimmableTypeMap][Core A] Foundation model and metadata providers#10816simonrozsival wants to merge 6 commits intodotnet:mainfrom
simonrozsival wants to merge 6 commits intodotnet:mainfrom
Conversation
This was referenced Feb 14, 2026
simonrozsival
commented
Feb 14, 2026
src/Microsoft.Android.Sdk.TrimmableTypeMap/Microsoft.Android.Sdk.TrimmableTypeMap.csproj
Outdated
Show resolved
Hide resolved
simonrozsival
commented
Feb 14, 2026
src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/JavaPeerInfo.cs
Outdated
Show resolved
Hide resolved
Member
Author
|
Addressed review comments: prefer string interpolation, use null patterns. Updated CustomAttributeTypeProvider and SignatureTypeProvider accordingly. Note: record-based types and package version variables addressed in downstream core-b branch. |
There was a problem hiding this comment.
Pull request overview
Adds the foundational “Core slice A” pieces for the new Microsoft.Android.Sdk.TrimmableTypeMap project, introducing the shared scanner data model and the minimal System.Reflection.Metadata providers needed to decode signatures and custom attributes without relying on Cecil.
Changes:
- Introduces the new
Microsoft.Android.Sdk.TrimmableTypeMapnetstandard project with package dependencies. - Adds the shared scanner data model (
JavaPeerInfo+ related method/ctor metadata types). - Adds minimal
ISignatureTypeProviderandICustomAttributeTypeProviderimplementations for SRM decoding.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/SignatureTypeProvider.cs | Adds minimal SRM signature decoder to produce managed type name strings. |
| src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/JavaPeerInfo.cs | Adds core scanner result data model consumed by downstream generators. |
| src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/CustomAttributeTypeProvider.cs | Adds SRM custom-attribute decoder helper (including enum underlying type resolution). |
| src/Microsoft.Android.Sdk.TrimmableTypeMap/Microsoft.Android.Sdk.TrimmableTypeMap.csproj | Introduces the new TrimmableTypeMap project and its package references/IVT. |
| eng/Versions.props | Adds a centralized version property for System.Reflection.Metadata. |
src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/CustomAttributeTypeProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/CustomAttributeTypeProvider.cs
Show resolved
Hide resolved
src/Microsoft.Android.Sdk.TrimmableTypeMap/Scanner/CustomAttributeTypeProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Android.Sdk.TrimmableTypeMap/Microsoft.Android.Sdk.TrimmableTypeMap.csproj
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
….Metadata Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove unused 'using System.Collections.Immutable' import - Fix nested enum type resolution in GetUnderlyingEnumType by reusing GetTypeFromDefinition which correctly handles nested types - Cache enum type lookups to avoid O(N) scan on each call - Remove redundant LangVersion=latest from csproj (set by Configuration.props) - Convert JavaPeerInfo, MarshalMethodInfo, ActivationCtorInfo to records Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…preview.1 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add netstandard2.0 polyfills for IsExternalInit, RequiredMemberAttribute, CompilerFeatureRequiredAttribute, and SetsRequiredMembersAttribute. Convert all record properties to init-only, with 'required' on non-nullable string and essential properties. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
22eeea4 to
a2ac436
Compare
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Core slice A from #10805.
Scope
JavaPeerInfo)Notes