Skip to content

Remove obsolete RemoveAttributesBase from Microsoft.Android.Sdk.ILLink#11061

Merged
jonathanpeppers merged 1 commit intomainfrom
copilot/remove-removeattributesbase
Apr 1, 2026
Merged

Remove obsolete RemoveAttributesBase from Microsoft.Android.Sdk.ILLink#11061
jonathanpeppers merged 1 commit intomainfrom
copilot/remove-removeattributesbase

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

Microsoft.Android.Sdk.ILLink still carried RemoveAttributesBase even though nothing in the project derives from or references it. This change removes the dead linker substep to keep the ILLink surface smaller and easier to navigate.

  • Scope

    • Delete src/Microsoft.Android.Sdk.ILLink/RemoveAttributesBase.cs
  • Impact

    • Removes an unused abstract base type and its attribute-walking logic
    • Leaves the project layout and compiled behavior unchanged aside from dropping the unreferenced code
  • Result

    • Reduces maintenance overhead in the ILLink implementation
    • Avoids keeping around a linker extension point that is no longer part of the active codepath

Agent-Logs-Url: https://github.com/dotnet/android/sessions/4027cdd8-45a4-4446-a6b5-22f66e33b8c3

Co-authored-by: sbomer <787361+sbomer@users.noreply.github.com>
@jonathanpeppers jonathanpeppers marked this pull request as ready for review April 1, 2026 21:35
@jonathanpeppers jonathanpeppers self-requested a review as a code owner April 1, 2026 21:35
Copilot AI review requested due to automatic review settings April 1, 2026 21:35
@jonathanpeppers jonathanpeppers merged commit 96d619c into main Apr 1, 2026
3 of 8 checks passed
@jonathanpeppers jonathanpeppers deleted the copilot/remove-removeattributesbase branch April 1, 2026 21:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes a dead ILLink substep base class from Microsoft.Android.Sdk.ILLink to reduce the surface area and maintenance burden of the custom linker step assembly.

Changes:

  • Deleted the unused RemoveAttributesBase abstract BaseSubStep implementation and its attribute-walking removal logic.
Comments suppressed due to low confidence (1)

src/Microsoft.Android.Sdk.ILLink/RemoveAttributesBase.cs:1

  • Removing RemoveAttributesBase deletes a public type from Microsoft.Android.Sdk.ILLink, which is shipped as a tooling assembly (.../tools/Microsoft.Android.Sdk.ILLink.dll) and could be referenced by out-of-tree custom linker steps. If this is intended, it should be treated as an API break (e.g., documented in release notes) or softened by keeping a deprecated shim type (e.g., an [Obsolete] stub) for one release to preserve binary/source compatibility.

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.

4 participants