You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are quite a few additional things we could capture in the files used by the public API analyzer. For example, changing any of these would be an API "break" that the analyzer currently doesn't capture:
Changing a base type or removing an inherited interface (without changing members)
Had an offline conversation w/ @halter73 about this bullet. Unfortunately, the current generated files do not mention explicitly-implemented members of an interface at all. Tracking the implemented interfaces would avoid that problem.
Somewhat separately, removing an implicitly-implemented member and making it explicit or visa versa is a change (which is breaking only in the implicit to explicit direction) rather than a removal but, right now, it shows up as a complete removal.
Repos that give IVT access to their internal members should probably capture internal members in their API descriptions too.
If this were implemented, I'd appreciate a way to turn it off completely. IVT is often used in a very narrow / localized fashion e.g. just with DynamicProxyGenAssembly2 (for Moq) and associated test assemblies.
Missing class modifiers looks like a roslyn issue. The analyzer uses SymbolDisplayMemberOptions.IncludeModifiers, but roslyn doesn't handle it for INamedType.
There are quite a few additional things we could capture in the files used by the public API analyzer. For example, changing any of these would be an API "break" that the analyzer currently doesn't capture:
[Obsolete]
(PublicApiAnalyzer should add info about members made[Obsolete]
#2663)[AttributeUsage]
values on attributesThe text was updated successfully, but these errors were encountered: