-
-
Notifications
You must be signed in to change notification settings - Fork 744
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: update InterfaceStubGenerator
to be an incremental generator
#1864
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1864 +/- ##
==========================================
- Coverage 87.73% 83.80% -3.93%
==========================================
Files 33 36 +3
Lines 2348 2476 +128
Branches 294 347 +53
==========================================
+ Hits 2060 2075 +15
- Misses 208 318 +110
- Partials 80 83 +3 ☔ View full report in Codecov by Sentry. |
a7a744e
to
374e0e1
Compare
Hi @TimothyMakkison , do you think you could try to update dependency verify.sourcegenerators to 2.5.0 along with this PR or as a separate PR. |
Sure, I don't think changing this should affect me.
nw, it looks like most of the changes can be copied over or ignored, shouldn't be a problem.
Thanks 😄, in theory this should be a fully backwards compatible change and will only provide a smoother ide experience for users. Assuming that I haven't broken anything🤞. I'm not too familiar with versioning so I'm happy to leave the decision to you. Does refit have a pre release version? I was hoping to finish this in a couple of days, I need to do some cleanup, re-read |
a56e5d3
to
4729184
Compare
eab1de1
to
d532015
Compare
Should be sound 🤞 . I tried to keep the logic the same and do a straight translation from the original, however there are differences. Note that bools passed to I'll probably look into #1801 or #1389 next. I could probably do #1801 over the weekend if you want it in the next update. |
d532015
to
59910d7
Compare
Shall we get 1801 out the way first as it's producing errors in the code, then tackle 1389 |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Closes #1791
Parser
converts eachINamedTypeSymbol
intoInterfaceModel
and extracts additional information.Model
types should be structurally equatable to enable incremental generation.ImmutableEquatableArray
is a structurally equatable collection.Emitter
takes each model and creates an interface stub.TODO
Future changes
ToList
callsImmutableEquatableArray
could be made into a struct.System.Text.Json
and rename files toInterfaceStubGenerator.Parser
etcBenchmarks
Original
Incremental