#import #import #import #import #import #import #import @class Foo; NS_ASSUME_NONNULL_BEGIN #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunknown-warning-option" #pragma clang diagnostic ignored "-Wincompatible-property-type" #pragma clang diagnostic ignored "-Wnullability" #pragma push_macro("_Nullable_result") #if !__has_feature(nullability_nullable_result) #undef _Nullable_result #define _Nullable_result _Nullable #endif __attribute__((objc_subclassing_restricted)) @interface Foo : Base + (instancetype)alloc __attribute__((unavailable)); + (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable)); + (instancetype)foo __attribute__((swift_name("init()"))); @property (class, readonly, getter=shared) Foo *shared __attribute__((swift_name("shared"))); - (NSString *)someMethod __attribute__((swift_name("someMethod()"))); @property (readonly) int32_t someProperty __attribute__((swift_name("someProperty"))); @end #pragma pop_macro("_Nullable_result") #pragma clang diagnostic pop NS_ASSUME_NONNULL_END