[cxx-interop] Fix generated header for Swift closures using CF_OPTIONS
types
#82691
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.
If a Swift class has a field, which has a closure type, which takes an instance of a
CF_OPTIONS
/NS_OPTIONS
type as a parameter, the reverse interop logic would generate an invalid Objective-C++ header for such type.This was discovered with UIKit's
UIControlState
type, which is declared withNS_OPTIONS
in Objective-C, then renamed toUIControl.State
with API Notes, and then re-exported to Objective-C++ via the generated header.rdar://129622886