1 #ifndef SOMEKIT_H 2 #define SOMEKIT_H 3 4 __attribute__((objc_root_class)) 5 @interface A 6 -(A*)transform:(A*)input; 7 -(A*)transform:(A*)input integer:(int)integer; 8 9 @property (nonatomic, readonly, retain) A* someA; 10 @property (nonatomic, retain) A* someOtherA; 11 12 @property (nonatomic) int intValue; 13 @end 14 15 @interface B : A 16 @end 17 18 @interface C : A 19 - (instancetype)init; 20 - (instancetype)initWithA:(A*)a; 21 @end 22 23 @interface ProcessInfo : A 24 +(instancetype)processInfo; 25 @end 26 27 @interface A(NonNullProperties) 28 @property (nonatomic, readwrite, retain) A *nonnullAInstance; 29 @property (class, nonatomic, readwrite, retain) A *nonnullAInstance; 30 31 @property (nonatomic, readwrite, retain) A *nonnullAClass; 32 @property (class, nonatomic, readwrite, retain) A *nonnullAClass; 33 34 @property (nonatomic, readwrite, retain) A *nonnullABoth; 35 @property (class, nonatomic, readwrite, retain) A *nonnullABoth; 36 @end 37 38 #import <SomeKit/SomeKitExplicitNullability.h> 39 40 extern int *global_int_ptr; 41 42 int *global_int_fun(int *ptr, int *ptr2); 43 44 #define SOMEKIT_DOUBLE double 45 46 __attribute__((objc_root_class)) 47 @interface OverriddenTypes 48 -(int *)methodToMangle:(int *)ptr1 second:(int *)ptr2; 49 @property int *intPropertyToMangle; 50 @end 51 52 @interface A(ImplicitGetterSetters) 53 @property (nonatomic, readonly, retain) A *implicitGetOnlyInstance; 54 @property (class, nonatomic, readonly, retain) A *implicitGetOnlyClass; 55 56 @property (nonatomic, readwrite, retain) A *implicitGetSetInstance; 57 @property (class, nonatomic, readwrite, retain) A *implicitGetSetClass; 58 @end 59 60 #endif 61