Rework IDeprecatable into IVersionableSymbol #221
Merged
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.
Replace the
IDeprecatable
symbol interface with a newIVersionableSymbol
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 ofthe interface. This also means that the increased memory cost is paid only by the small number of versionable symbols that contain version info.