-
Notifications
You must be signed in to change notification settings - Fork 554
[RGen] Track if a type inherits from NSCoder or implements INSCoder. #23802
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This allows later to access this information for the analyzer and the code generator. In a later PR we will track if the type implements the NSCoder interface and will generate a number of default constructors when needed.
This will later be used for the analyzer to let the user know that the initWithCoder: constructor is missing.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [CI Build #f223b6c] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #f223b6c] Build passed (Detect API changes) ✅Pipeline on Agent |
…cios into dev/mandel/is-nscoder
| const string dictionaryContainerClass = "Foundation.DictionaryContainer"; | ||
| const string uiViewClass = "UIKit.UIView"; | ||
| const string appKitViewClass = "AppKit.NSView"; | ||
| const string nsCodingClass = "Foundation.NSCoding"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only the interface (INSCoding) makes sense to check for, nobody should subclass the class (NSCoding).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we do that check in bgen?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably historical reasons would be my guess
|
Closing this to take a more generic approach. |
This will later be used for the analyzer to let the user know that the initWithCoder: constructor is missing.