forked from xamarin/xamarin-macios
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[generator] Fix an issue where we'd not copy attributes from inlined …
…protocols. Protocols with one set of introduced attributes ([TV (12, 0)]) inlined in types that were introduced in a different version ([TV (10, 0)]) would always use the attributes from the type. This is wrong if the protocol was introduced after the type, in which case we should instead use the introduced attributes from the protocol. Fix this by choosing the latest introduced attribute when we have multiple to choose from. This required passing a bit more information around so that we always know if a member is being inlined in another type. This PR will also print availability attributes on the protocol members themselves: [Protocol] interface IProtocol { [TV (12, 0)] // this was not printed before [Export ("someProperty")] string SomeProperty { get; set; } } Also add and improve some tests. Contributes towards xamarin#14802.
- Loading branch information
1 parent
63abb2d
commit 5eec307
Showing
4 changed files
with
358 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.