summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/oc/more_blocks.m
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/oc/more_blocks.m')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/oc/more_blocks.m54
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/oc/more_blocks.m b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/oc/more_blocks.m
new file mode 100644
index 00000000..8695ffdc
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/tests/input/oc/more_blocks.m
@@ -0,0 +1,54 @@
+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