| @import Foundation; |
| |
| #pragma clang assume_nonnull begin |
| |
| // stdbool.h uses #define, so this test does as well. |
| #ifndef bool |
| # define bool _Bool |
| #endif |
| |
| bool testCBool(bool); |
| BOOL testObjCBool(BOOL); |
| Boolean testDarwinBoolean(Boolean); |
| |
| typedef bool (*CBoolFn)(bool); |
| typedef BOOL (*ObjCBoolFn)(BOOL); |
| typedef Boolean (*DarwinBooleanFn)(Boolean); |
| |
| typedef bool (^CBoolBlock)(bool); |
| typedef BOOL (^ObjCBoolBlock)(BOOL); |
| typedef Boolean (^DarwinBooleanBlock)(Boolean); |
| |
| __typeof(bool (^)(bool)) testCBoolFnToBlock(bool (*)(bool)); |
| __typeof(BOOL (^)(BOOL)) testObjCBoolFnToBlock(BOOL (*)(BOOL)); |
| __typeof(Boolean (^)(Boolean)) testDarwinBooleanFnToBlock(Boolean (*)(Boolean)); |
| |
| @interface Test : NSObject |
| @property bool propCBool __attribute__((swift_name("propCBool"))); |
| @property BOOL propObjCBool __attribute__((swift_name("propObjCBool"))); |
| @property Boolean propDarwinBoolean; |
| |
| - (bool)testCBool:(bool)b; |
| - (BOOL)testObjCBool:(BOOL)b; |
| - (Boolean)testDarwinBoolean:(Boolean)b; |
| |
| @property bool (^propCBoolBlock)(bool); |
| @property BOOL (^propObjCBoolBlock)(BOOL); |
| @property Boolean (^propDarwinBooleanBlock)(Boolean); |
| |
| - (bool (^)(bool))testCBoolFnToBlock:(bool (*)(bool))fp; |
| - (BOOL (^)(BOOL))testObjCBoolFnToBlock:(BOOL (*)(BOOL))fp; |
| - (Boolean (^)(Boolean))testDarwinBooleanFnToBlock:(Boolean (*)(Boolean))fp; |
| |
| - (instancetype)init; |
| @end |
| |
| #pragma clang assume_nonnull end |