-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Follow up on public api review notes #43435
Comments
So @333fred and @CyrusNajmabadi, it looks like we're already a bit inconsistent here. Solution.AddDocuments (which is already a shipped API) is already taking an ImmutableArray, so when we added RemoveDocuments we were being consistent with that. I can switch the Remove methods to IEnumerable, but then that just results in a different inconsistency. Is that something we feel is necessary here? |
Also as a reminder any change to a signature here induces a fairly high test cost given we need to take any chance here through VS shiproom. |
I think I'd prefer consistency with the symmetric method (AddDocuments) than with the rest of the methods in Solution (which may or may not be related). It would have been good if they were all |
@333fred: so in that case, the only item to do then is adding the Project.Remove* methods that match the Solution.Remove* methods? OK if we do that in 16.7 so as to avoid QB process for this? Tagging @tmat too on the IEnumerable vs. ImmutableArray since he was messing with some of that recently too. |
I think that's fine. |
@tmat or @CyrusNajmabadi any concern about fixing just the missing methods, i.e. the second bullet point and not the first? |
Given it's now too late to fix anyways, going with the PR that only fixes the second issue. |
Project.RemoveDocuments
: Everything else in this type usesIEnumerable<T>
, notImmutableArray<T>
. If we could start again from day 1 we might make everything that, but given that everything today uses the former, we should do so here. This applies to the overloads onSolution
as well.Solution.RemoveAdditonalDocuments/RemoveAnalyzerConfigDocuments
: We added these toSolution
, but not to project, even though that also has the invididualRemove
methods. We should add them toProject
as well.The text was updated successfully, but these errors were encountered: