mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
...specifically `@objc dynamic`, that is. This is one case where we /know/ that the override does not depend on the base in any way---any attributes have already been propagated down, and there's no vtable entry. This is especially important for properties, which have no recovery if their accessors can't be deserialized. rdar://50827914
32 lines
961 B
Objective-C
32 lines
961 B
Objective-C
#import <FooKit.h>
|
|
|
|
@interface Parent ()
|
|
- (nonnull instancetype)initWithSECRET:(int)secret __attribute__((objc_designated_initializer, swift_name("init(SECRET:)")));
|
|
|
|
- (void)methodSECRET;
|
|
|
|
@property (readonly, strong, nullable) Parent *roPropSECRET;
|
|
@property (readwrite, strong, nullable) Parent *rwPropSECRET;
|
|
|
|
- (nullable Parent *)objectAtIndexedSubscript:(int)index;
|
|
|
|
@property (readwrite, strong, nullable) Parent *redefinedPropSECRET;
|
|
@end
|
|
|
|
@protocol MandatorySecrets
|
|
- (nonnull instancetype)initWithRequiredSECRET:(int)secret;
|
|
@end
|
|
|
|
@interface Parent () <MandatorySecrets>
|
|
- (nonnull instancetype)initWithRequiredSECRET:(int)secret __attribute__((objc_designated_initializer));
|
|
@end
|
|
|
|
@interface GenericParent<T: Base *> ()
|
|
@property (readonly, strong, nullable) T roPropSECRET;
|
|
- (nullable Parent *)objectAtIndexedSubscript:(int)index;
|
|
@end
|
|
|
|
@interface SubscriptParent ()
|
|
- (void)setObject:(nullable Parent *)object atIndexedSubscript:(int)index;
|
|
@end
|