typedef struct __attribute__ ((objc_bridge(NSError))) __CFErrorRef * CFErrorRef;
typedef struct __attribute__ ((objc_bridge(MyError))) __CFMyErrorRef * CFMyErrorRef;
typedef struct __attribute__((objc_bridge(12))) __CFMyColor *CFMyColorRef;
typedef struct __attribute__ ((objc_bridge)) __CFArray *CFArrayRef;
typedef void * __attribute__ ((objc_bridge(NSURL))) CFURLRef;
typedef void * CFStringRef __attribute__ ((objc_bridge(NSString)));
typedef struct __attribute__((objc_bridge(NSLocale, NSError))) __CFLocale *CFLocaleRef;
typedef struct __CFData __attribute__((objc_bridge(NSData))) CFDataRef;
typedef struct __attribute__((objc_bridge(NSDictionary))) __CFDictionary * CFDictionaryRef;
typedef struct __CFSetRef * CFSetRef __attribute__((objc_bridge(NSSet)));
typedef union __CFUColor __attribute__((objc_bridge(NSUColor))) * CFUColorRef;
typedef union __CFUColor __attribute__((objc_bridge(NSUColor))) *CFUColor1Ref;
typedef union __attribute__((objc_bridge(NSUColor))) __CFUPrimeColor XXX;
typedef XXX *CFUColor2Ref;
typedef const void *ConstVoidRef __attribute__((objc_bridge(id)));
typedef void *VoidRef __attribute__((objc_bridge(id)));
typedef struct Opaque *OpaqueRef __attribute__((objc_bridge(id)));
#if !__has_feature(objc_bridge_id_on_typedefs)
#error objc_bridge(id) on typedefs feature not found!
#endif
@interface I
{
__attribute__((objc_bridge(NSError))) void * color; }
@end
@protocol NSTesting @end
@class NSString;
typedef struct __attribute__((objc_bridge(NSTesting))) __CFError *CFTestingRef;
id Test1(CFTestingRef cf) {
return (NSString *)cf; }
typedef CFErrorRef CFErrorRef1;
typedef CFErrorRef1 CFErrorRef2;
@protocol P1 @end
@protocol P2 @end
@protocol P3 @end
@protocol P4 @end
@protocol P5 @end
@interface NSError<P1, P2, P3> @end
@interface MyError : NSError @end
@interface NSUColor @end
@class NSString;
void Test2(CFErrorRef2 cf, NSError *ns, NSString *str, Class c, CFUColor2Ref cf2) {
(void)(NSString *)cf; (void)(NSError *)cf; (void)(MyError*)cf; (void)(NSUColor *)cf2; (void)(CFErrorRef)ns; (void)(CFErrorRef)str; (void)(Class)cf; (void)(CFErrorRef)c; }
void Test3(CFErrorRef cf, NSError *ns) {
(void)(id)cf; (void)(id<P1, P2>)cf; (void)(id<P1, P2, P4>)cf; }
void Test4(CFMyErrorRef cf) {
(void)(id)cf; (void)(id<P1, P2>)cf; (void)(id<P1, P2, P3>)cf; (void)(id<P2, P3>)cf; (void)(id<P1, P2, P4>)cf; }
void Test5(id<P1, P2, P3> P123, id ID, id<P1, P2, P3, P4> P1234, id<P1, P2> P12, id<P2, P3> P23) {
(void)(CFErrorRef)ID; (void)(CFErrorRef)P123; (void)(CFErrorRef)P1234; (void)(CFErrorRef)P12; (void)(CFErrorRef)P23; }
void Test6(id<P1, P2, P3> P123, id ID, id<P1, P2, P3, P4> P1234, id<P1, P2> P12, id<P2, P3> P23) {
(void)(CFMyErrorRef)ID; (void)(CFMyErrorRef)P123; (void)(CFMyErrorRef)P1234; (void)(CFMyErrorRef)P12; (void)(CFMyErrorRef)P23; }
typedef struct __attribute__ ((objc_bridge(MyPersonalError))) __CFMyPersonalErrorRef * CFMyPersonalErrorRef;
@interface MyPersonalError : NSError <P4> @end
void Test7(id<P1, P2, P3> P123, id ID, id<P1, P2, P3, P4> P1234, id<P1, P2> P12, id<P2, P3> P23) {
(void)(CFMyPersonalErrorRef)ID; (void)(CFMyPersonalErrorRef)P123; (void)(CFMyPersonalErrorRef)P1234; (void)(CFMyPersonalErrorRef)P12; (void)(CFMyPersonalErrorRef)P23; }
void Test8(CFMyPersonalErrorRef cf) {
(void)(id)cf; (void)(id<P1>)cf; (void)(id<P1, P2>)cf; (void)(id<P1, P2, P3>)cf; (void)(id<P1, P2, P3, P4>)cf; (void)(id<P1, P2, P3, P4, P5>)cf; }
CFDictionaryRef bar(void) __attribute__((cf_returns_not_retained));
@class NSNumber;
void Test9(void) {
NSNumber *w2 = (NSNumber*) bar(); }
@interface NSObject @end
@interface NSFont : NSObject @end
typedef struct __attribute__ ((objc_bridge(NSFont))) __CFFontRef * CFFontRef;
void Test10(CFFontRef cf) {
(void)(__bridge NSObject *)cf;
}