1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
@interface Object
- (nonnull instancetype)init;
@end
@interface Base : Object
#if !BAD
- (void)disappearingMethod;
- (nullable id)nullabilityChangeMethod;
- (nonnull id)typeChangeMethod;
@property (readonly) long disappearingProperty;
@property (readwrite) long disappearingPropertySetter;
#else
//- (void)disappearingMethod;
- (nonnull id)nullabilityChangeMethod;
- (nonnull Base *)typeChangeMethod;
// @property (readonly) long disappearingProperty;
@property (readonly) long disappearingPropertySetter;
#endif
@end
@interface Base (ExtraMethodsToTriggerCircularReferences)
#if !BAD
- (void)disappearingMethodWithOverload;
#else
//- (void)disappearingMethodWithOverload;
#endif
@end
@interface GenericBase<Element>: Object
#if !BAD
- (void)disappearingMethod;
- (nullable Element)nullabilityChangeMethod;
- (nonnull id)typeChangeMethod;
#else
//- (void)disappearingMethod;
- (nonnull Element)nullabilityChangeMethod;
- (nonnull Element)typeChangeMethod;
#endif
@end
@interface IndexedSubscriptDisappearsBase : Object
#if !BAD
- (nonnull id)objectAtIndexedSubscript:(long)index;
#else
//- (nonnull id)objectAtIndexedSubscript:(long)index;
#endif
@end
@interface KeyedSubscriptDisappearsBase : Object
#if !BAD
- (nonnull id)objectForKeyedSubscript:(nonnull id)key;
#else
// - (nonnull id)objectForKeyedSubscript:(nonnull id)key;
#endif
@end
@interface GenericIndexedSubscriptDisappearsBase<Element> : Object
#if !BAD
- (nonnull Element)objectAtIndexedSubscript:(long)index;
#else
// - (nonnull Element)objectAtIndexedSubscript:(long)index;
#endif
@end
@interface GenericKeyedSubscriptDisappearsBase<Element> : Object
#if !BAD
- (nonnull Element)objectAtIndexedSubscript:(nonnull id)key;
#else
// - (nonnull Element)objectAtIndexedSubscript:(nonnull id)key;
#endif
@end
@interface DesignatedInitDisappearsBase : Object
- (nonnull instancetype)init __attribute__((objc_designated_initializer));
- (nonnull instancetype)initConvenience:(long)value;
#if !BAD
- (nonnull instancetype)initWithValue:(long)value __attribute__((objc_designated_initializer));
#else
//- (nonnull instancetype)initWithValue:(long)value __attribute__((objc_designated_initializer));
#endif
@end
@interface OnlyDesignatedInitDisappearsBase : Object
- (nonnull instancetype)initConvenience:(long)value;
#if !BAD
- (nonnull instancetype)initWithValue:(long)value __attribute__((objc_designated_initializer));
#else
//- (nonnull instancetype)initWithValue:(long)value __attribute__((objc_designated_initializer));
#endif
@end
@interface ConvenienceInitDisappearsBase : Object
- (nonnull instancetype)init __attribute__((objc_designated_initializer));
- (nonnull instancetype)initConvenience:(long)value;
#if !BAD
- (nonnull instancetype)initWithValue:(long)value;
#else
//- (nonnull instancetype)initWithValue:(long)value;
#endif
@end
@interface UnknownInitDisappearsBase : Object
- (nonnull instancetype)init;
#if !BAD
- (nonnull instancetype)initWithValue:(long)value;
#else
//- (nonnull instancetype)initWithValue:(long)value;
#endif
@end
@interface OnlyUnknownInitDisappearsBase : Object
#if !BAD
- (nonnull instancetype)initWithValue:(long)value;
#else
//- (nonnull instancetype)initWithValue:(long)value;
#endif
@end
#if !BAD
struct BoxedInt {
int value;
};
#endif
@interface MethodWithDisappearingType : Object
#if !BAD
- (struct BoxedInt)boxItUp;
#endif
@end
@interface InitializerWithDisappearingType : Object
#if !BAD
- (nonnull instancetype)initWithBoxedInt:(struct BoxedInt)box;
#endif
@end
|