diff options
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.73.0/tests/input/oc/more_blocks.m')
-rw-r--r-- | debian/uncrustify-trinity/uncrustify-trinity-0.73.0/tests/input/oc/more_blocks.m | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/tests/input/oc/more_blocks.m b/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/tests/input/oc/more_blocks.m new file mode 100644 index 00000000..eab01db0 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.73.0/tests/input/oc/more_blocks.m @@ -0,0 +1,53 @@ +int (^myBlock)(int) = ^(int num) { return num * multiplier; }; +// for comparison +int (*fcnptr)(int); + +int d = i % 10; +repeat(10, ^{ putc('0'+d); }); + + +void (^block)(void); +typedef void (^vstr_t)(char *); +typedef void (^workBlk_t)(void); + +void AllLinesInFile(char *f, vstr_t block) { + FILE *fp = fopen(f, "r"); + if (!fp) return; + char line[1024]; + while (fgets(line, 1024, fp)) + block(line); + fclose(fp); +} + + +@implementation NSArray (WWDC) +- (NSArray *)map:(id (^)(id))xform { + id result = [NSMutableArray array]; + for (id elem in self) + [result addObject:xform(elem)]; + return result; +} + +- (NSArray *)collect:(BOOL ( ^ )(id))predicate { + id result = [NSMutableArray array]; + for (id elem in self) + if (predicate(elem)) + [result addObject:elem]; + return result; +} + +// corner case: block literal in use with return type +id longLines = [allLines collect: ^ BOOL (id item) { + return [item length] > 20; +}]; + +// corner case: block literal in use with return type +id longLines = [allLines collect: ^ BOOL* (id item) { + return [item length] > 20; +}]; + +@end + +// 1. block literal: ^{ ... }; +// 2. block declaration: return_t (^name) (int arg1, int arg2, ...) NB: return_t is optional and name is also optional +// 3. block inline call ^ return_t (int arg) { ... }; NB: return_t is optional |