mhutch / MonoDevelop.MSBuildEditor

Improved MSBuild editing support
Other
211 stars 24 forks source link

Rework IDeprecatable into IVersionableSymbol #221

Closed mhutch closed 2 months ago

mhutch commented 2 months ago

Replace the IDeprecatable symbol interface with a new IVersionableSymbol interface, which allows symbols to contain information about the version in which the symbol was deprecated or introduced. We don't do anything with this info yet but having this mechanism means we can now start annotating symbols with this info in preparation for future use.

This info is stored on a SymbolVersionInfo object so it's easier to expand in future without touching every implementation of the interface. This also means that the increased memory cost is paid only by the small number of versionable symbols that contain version info.