Replace DAMT.All with more restricted annotation on InvokeMember/FindMembers/DeclaredMembers #109801
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.
I'm looking at places we use .All to see if the new annotations could help. Here we don't need the new annotations, this was always expressible. I can only assume the reason for .All was laziness. This was at a time when we believed .All "just keeps a bit more" and we didn't consider the impact of marking interface methods implemented by the class, or the impact of warnings due to .All capturing things that are not safe to reflection-call.
This is a breaking change in theory, should someone implement
IReflect
or derive fromSystem.TypeInfo
- they need to update the annotations.Cc @dotnet/illink @eerhardt