[generator] Inherit declaring type's 'deprecated-since' if lower than member's. #1068
+40
−2
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.
Imagine a type is deprecated in API-25 but its members are not explicitly marked as deprecated:
Then in API-29 the member is explicitly marked as deprecated:
Due to the way
api-merge
calculatesdeprecated-since
, these would end up with different values, and the resulting C# API would look like:While technically "fine", it is confusing that the method says it was obsoleted in API-29 instead of API-25.
To fix this, if a member has a "higher"
deprecated-since
than its declaring type, we set the member to the declaring type's value.