Skip to content

Fix Signatures.md listing redundant same-version members for newly-polyfilled types - #139

Merged
Tyrrrz merged 1 commit into
primefrom
copilot/update-signatures-file
Aug 4, 2026
Merged

Tyrrrz merged 1 commit into
primefrom
copilot/update-signatures-file

Conversation

Copilot AI commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

When a type didn't exist at all below a given framework (e.g. BinaryPrimitives before .NET Core 2.1), Signatures.md listed both the type entry itself and every one of its members individually, even though those members were introduced at the exact same version as the type — redundant information. Members added to the type in later frameworks (via extension polyfills) were correctly listed separately, and that behavior is preserved.

Generator change

  • GenerateSignatures.csx: removed the code path that walked public static members of internal (whole-type) polyfill classes and emitted a separate signature entry for each. The type-level [class]/[struct] entry now stands on its own when the entire type is being polyfilled.
  • Member extraction via extension blocks (used when only specific members are added to an already-existing type in a later framework) is untouched.

Regenerated output

  • Signatures.md regenerated, dropping per-member entries that duplicated a type's initial introduction version.

Example — BinaryPrimitives before/after:

 - `BinaryPrimitives`
   - [**[class]**] ... .NET Core 2.1
   - [`static bool TryReadDoubleBigEndian(...)`] ... .NET 5.0
-  - [`static bool TryReadInt16BigEndian(...)`] ... .NET Core 2.1
-  - [`static short ReadInt16BigEndian(...)`] ... .NET Core 2.1
   ...

…type polyfills

Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
@Tyrrrz
Tyrrrz marked this pull request as ready for review August 4, 2026 11:35
Copilot AI lite review requested due to automatic review settings August 4, 2026 11:35
@codecov

codecov Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.24%. Comparing base (a13c658) to head (396c17b).

Additional details and impacted files
@@           Coverage Diff           @@
##            prime     #139   +/-   ##
=======================================
  Coverage   99.24%   99.24%           
=======================================
  Files         158      158           
  Lines        4383     4383           
  Branches       89       89           
=======================================
  Hits         4350     4350           
  Misses         13       13           
  Partials       20       20           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates the signatures generator and regenerates Signatures.md to eliminate redundant per-member entries for whole-type polyfills of static classes (i.e., when the type itself is introduced at a given framework version, its original members are no longer redundantly listed at that same version). Member listings for later-added APIs via extension polyfills remain unchanged.

Changes:

  • Updated GenerateSignatures.csx to stop emitting separate signature entries for public static members declared inside internal whole-type static class polyfills.
  • Regenerated Signatures.md to drop redundant same-version member entries (reducing the member count accordingly).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
Signatures.md Regenerated output removing redundant per-member entries for whole-type static class polyfills and updating totals.
GenerateSignatures.csx Removes the code path that extracted members from internal static whole-type polyfill classes; extension-block member extraction remains.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Tyrrrz
Tyrrrz merged commit bc78839 into prime Aug 4, 2026
8 checks passed
@Tyrrrz
Tyrrrz deleted the copilot/update-signatures-file branch August 4, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants