Differences From Artifact [29246596c0]:
- File src/OFIntrospection.h — part of check-in [0509d7a844] at 2019-01-03 19:13:03 on branch trunk — Update copyright (user: js, size: 6222) [annotate] [blame] [check-ins using]
To Artifact [f4fdf94694]:
- File
src/OFIntrospection.h
— part of check-in
[496695d778]
at
2019-09-29 19:35:38
on branch trunk
— Either restrict subclassing or reserve ivar space
This allows ABI stability with the fragile ABI. (user: js, size: 6311) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * @brief A class for describing a method. */ @interface OFMethod: OFObject { SEL _selector; OFString *_name; const char *_typeEncoding; } /*! * @brief The selector of the method. */ @property (readonly, nonatomic) SEL selector; | > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | * @brief A class for describing a method. */ @interface OFMethod: OFObject { SEL _selector; OFString *_name; const char *_typeEncoding; OF_RESERVE_IVARS(4) } /*! * @brief The selector of the method. */ @property (readonly, nonatomic) SEL selector; |
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 | * @brief A class for describing a property. */ @interface OFProperty: OFObject { OFString *_name; unsigned int _attributes; OFString *_Nullable _getter, *_Nullable _setter, *_Nullable _iVar; } /*! * @brief The name of the property. */ @property (readonly, nonatomic) OFString *name; | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | * @brief A class for describing a property. */ @interface OFProperty: OFObject { OFString *_name; unsigned int _attributes; OFString *_Nullable _getter, *_Nullable _setter, *_Nullable _iVar; OF_RESERVE_IVARS(4) } /*! * @brief The name of the property. */ @property (readonly, nonatomic) OFString *name; |
︙ | ︙ | |||
126 127 128 129 130 131 132 133 134 135 136 137 138 139 | * @brief A class for describing an instance variable. */ @interface OFInstanceVariable: OFObject { OFString *_name; const char *_typeEncoding; ptrdiff_t _offset; } /*! * @brief The name of the instance variable. */ @property (readonly, nonatomic) OFString *name; | > | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | * @brief A class for describing an instance variable. */ @interface OFInstanceVariable: OFObject { OFString *_name; const char *_typeEncoding; ptrdiff_t _offset; OF_RESERVE_IVARS(4) } /*! * @brief The name of the instance variable. */ @property (readonly, nonatomic) OFString *name; |
︙ | ︙ | |||
151 152 153 154 155 156 157 158 159 160 161 162 163 164 | @end /*! * @class OFIntrospection OFIntrospection.h ObjFW/OFIntrospection.h * * @brief A class for introspecting classes. */ @interface OFIntrospection: OFObject { OFMutableArray OF_GENERIC(OFMethod *) *_classMethods; OFMutableArray OF_GENERIC(OFMethod *) *_instanceMethods; OFMutableArray OF_GENERIC(OFProperty *) *_properties; OFMutableArray OF_GENERIC(OFInstanceVariable *) *_instanceVariables; } | > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | @end /*! * @class OFIntrospection OFIntrospection.h ObjFW/OFIntrospection.h * * @brief A class for introspecting classes. */ OF_SUBCLASSING_RESTRICTED @interface OFIntrospection: OFObject { OFMutableArray OF_GENERIC(OFMethod *) *_classMethods; OFMutableArray OF_GENERIC(OFMethod *) *_instanceMethods; OFMutableArray OF_GENERIC(OFProperty *) *_properties; OFMutableArray OF_GENERIC(OFInstanceVariable *) *_instanceVariables; } |
︙ | ︙ |