37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#import "macros.h"
#if defined(OF_OBJFW_RUNTIME)
# import <objfw-rt.h>
#elif defined(OF_OLD_GNU_RUNTIME)
# import <objc/objc-api.h>
# import <objc/sarray.h>
#else
# import <objc/runtime.h>
#endif
#ifdef _WIN32
# include <windows.h>
#endif
|
>
|
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#import "macros.h"
#if defined(OF_OBJFW_RUNTIME)
# import <objfw-rt.h>
#elif defined(OF_OLD_GNU_RUNTIME)
# import <objc/objc-api.h>
# import <objc/sarray.h>
# import <objc/Protocol.h>
#else
# import <objc/runtime.h>
#endif
#ifdef _WIN32
# include <windows.h>
#endif
|
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
|
Class c;
struct objc_protocol_list *pl;
size_t i;
for (c = self; c != Nil; c = class_get_super_class(c))
for (pl = c->protocols; pl != NULL; pl = pl->next)
for (i = 0; i < pl->count; i++)
if ([pl->list[i] conformsToProtocol: protocol])
return YES;
return NO;
#else
Class c;
for (c = self; c != Nil; c = class_getSuperclass(c))
|
|
|
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
Class c;
struct objc_protocol_list *pl;
size_t i;
for (c = self; c != Nil; c = class_get_super_class(c))
for (pl = c->protocols; pl != NULL; pl = pl->next)
for (i = 0; i < pl->count; i++)
if ([pl->list[i] conformsTo: protocol])
return YES;
return NO;
#else
Class c;
for (c = self; c != Nil; c = class_getSuperclass(c))
|