Refactor source output registration in IDE generator#43
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR updates the incremental generator’s source emission registration to use Roslyn’s RegisterImplementationSourceOutput API instead of RegisterSourceOutput, aligning the generator with the intended “implementation output” pipeline and aiming to reduce IDE-time overhead.
Changes:
- Replaced
context.RegisterSourceOutput(...)withcontext.RegisterImplementationSourceOutput(...)for the[Expressive]pipeline. - Replaced
context.RegisterSourceOutput(...)withcontext.RegisterImplementationSourceOutput(...)for the batched[ExpressiveFor*]emission pipeline.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'ExpressiveSharp Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.
| Benchmark suite | Current: 481b59d | Previous: af72c8d | Ratio |
|---|---|---|---|
ExpressiveSharp.Benchmarks.ExpressionResolverBenchmarks.Resolve_Constructor |
20.635372799018334 ns (± 12.825022020518675) |
7.571761826502866 ns (± 0.032731372760744275) |
2.73 |
This comment was automatically generated by workflow using github-action-benchmark.
Update the source output registration method to use
RegisterImplementationSourceOutputinstead ofRegisterSourceOutputfor better performance