1#include "Test.h" 2#include <string.h> 3 4@class NSString; 5@protocol Foo 6- (NSString*)aMethod: (void(^)(int))aBlock; 7@end 8 9int main(void) 10{ 11 const char *encoding = _protocol_getMethodTypeEncoding(@protocol(Foo), @selector(aMethod:), YES, YES); 12#ifdef GS_RUNTIME_V2 13 // We expect something like this (LP64): @"NSString"24@0:8@?<v@?i>16 14 assert(strstr(encoding, "@\"NSString\"") == encoding); 15 assert(strstr(encoding, "@?<v@?i>") != NULL); 16#else 17 assert(strstr(encoding, "@?") != NULL); 18#endif 19} 20