-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
Change objcImpl syntax to @objc @implementation
#73309
Commits on May 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c3225b0 - Browse repository at this point
Copy the full SHA c3225b0View commit details -
[NFC] Add
@objc
to imported ObjC categoriesThis contains the category name, if there is one.
Configuration menu - View commit details
-
Copy full SHA for 07b2b9a - Browse repository at this point
Copy the full SHA 07b2b9aView commit details
Commits on May 16, 2024
-
[NFC] Fix objcImpl request cache
Several offsetting bugs both broke the caching of `ObjCInterfaceAndImplementationRequest` and caused it to usually miss. Fix this whole painful mess. Also has collateral improvements to simple_display().
Configuration menu - View commit details
-
Copy full SHA for 4ba2f6e - Browse repository at this point
Copy the full SHA 4ba2f6eView commit details -
Support @objc(CustomName) on extensions
This now specifies a category name that’s used in TBDGen, IRGen, and PrintAsClang. There are also now category name conflict diagnostics; these subsume some @implementation diagnostics. (It turns out there was already a check for @objc(CustomName) to make sure it wasn’t a selector!)
Configuration menu - View commit details
-
Copy full SHA for 07b9fe9 - Browse repository at this point
Copy the full SHA 07b9fe9View commit details -
Test stable and unstable objcImpl separately
Their syntaxes are about to diverge, so let’s make sure that we maintain source compatibility for @_objcImplementation.
Configuration menu - View commit details
-
Copy full SHA for 0fbea28 - Browse repository at this point
Copy the full SHA 0fbea28View commit details
Commits on May 17, 2024
-
[NFC] Hoist getAttributeInsertionLoc() up to Decl
This functionality was previously reserved for ValueDecls. Move it all the way up to Decl; in the process, make it correctly handle EnumElementDecls and EnumCaseDecls. This change also allows us to generalize `swift::fixDeclarationObjCName()` to work on extensions, though we do not use that capability in this commit.
Configuration menu - View commit details
-
Copy full SHA for cf541c1 - Browse repository at this point
Copy the full SHA cf541c1View commit details -
Require @objc to be used with @implementation
…for extensions. This change also removes @implementation(CategoryName); you should attach the category name to the @objc attribute instead. And there are small changes to how much checking the compiler will do on an @objc @implementation after the decl checker has discovered a problem with it.
Configuration menu - View commit details
-
Copy full SHA for 9db14c3 - Browse repository at this point
Copy the full SHA 9db14c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10ae9db - Browse repository at this point
Copy the full SHA 10ae9dbView commit details -
Change expected objcImpl private let optimization
Previous changes have made it so that `private let`s in an objcImpl extension are implicitly `@objc`, which changed downstream behavior in a SILOptimizer test. The new behavior is actually more correct, so codify this behavior change by modifying the test.
Configuration menu - View commit details
-
Copy full SHA for 0d6b808 - Browse repository at this point
Copy the full SHA 0d6b808View commit details