Take the cloning layer from Zomp.MethodCloning - #171
Merged
Merged
Conversation
The Cloning folder, EquatableArray and ReportedDiagnostic move to the Zomp.MethodCloning source package, maintained in its own repository. They come back as internal types compiled into the generator, with this repository's ROSLYN_* constants, so every Roslyn variant still gets its own build of them. Generated output is unchanged. nuget.config maps the package to a local folder feed until it is published, so this branch cannot pass CI yet. Generated with Claude Code
The package is published, so the local feed it came from is gone from nuget.config. The version brings the core's fixes; the one snapshot they change is a method in the global namespace, whose file is now named Class.ReturnTrueAsync.g.cs rather than .Class.ReturnTrueAsync.g.cs. Generated with Claude Code
The cloning layer lives in Zomp.MethodCloning, which tests it with an identity clone. These 22 tests only exercised that layer: their output here differs from the identity clone by nothing but the method's name and Task becoming void. File naming, containing types, name qualification and namespaces are tested there instead. Tests where this generator's output does more than rename the method stay, such as Task.Delay becoming Thread.Sleep, a Func returning Task becoming an Action, and the attribute on a type. Generated with Claude Code
The package comes from nuget.org now, so the note about the local feed is gone. Cloning bugs are tested and fixed in method-cloning, and so is an identity clone which fails; EquatableArray comes from the package too. Generated with Claude Code
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #171 +/- ##
==========================================
- Coverage 92.27% 91.67% -0.60%
==========================================
Files 15 6 -9
Lines 1708 1273 -435
Branches 391 306 -85
==========================================
- Hits 1576 1167 -409
+ Misses 46 38 -8
+ Partials 86 68 -18 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
The cloning layer, the half of the generator which copies a method into a file of its own, now comes from the Zomp.MethodCloning source package, maintained in zompinc/method-cloning.
.Class.ReturnTrueAsync.g.csbecomesClass.ReturnTrueAsync.g.cs.🤖 Generated with Claude Code