diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-12-04 19:16:43 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-12-04 19:38:30 +0900 |
commit | fdcd72088371b3d8dfd31f2a5159861ce0be5535 (patch) | |
tree | 06c160cc34157344f62b6c19af297858a0e57157 /debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/input/oc/block_in_method.m | |
parent | a5d7db3b2c6171ea9e76b84155d2dfb66c243e5a (diff) | |
download | extra-dependencies-fdcd72088371b3d8dfd31f2a5159861ce0be5535.tar.gz extra-dependencies-fdcd72088371b3d8dfd31f2a5159861ce0be5535.zip |
uncrustify-trinity: updated based on upstream version 0.76.0
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/input/oc/block_in_method.m')
-rw-r--r-- | debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/input/oc/block_in_method.m | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/input/oc/block_in_method.m b/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/input/oc/block_in_method.m new file mode 100644 index 00000000..e0dfcd76 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.76.0/tests/input/oc/block_in_method.m @@ -0,0 +1,66 @@ + +void Events1(NSString * identifier, void (^handler)()); + +void Events2(NSString * identifier, void (^)()); + +@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; +} + +- (void)each:(void (^)(id object))block { + [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + block(obj); + }]; +} + +// 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 + +nestedMethodCall(methodCall( ^ BOOL * (id item) { + NSLog(@"methodCall") +})); + +nestedMethodCall( + arg1, + methodCall( ^ NSString * (id item) { + NSLog(@"methodCall") + })); + +nestedMethodCall( + arg1, + methodCall( ^ { + NSLog(@"methodCall") + }, + arg2) +); + +nestedMethodCall( + methodCall( ^ { + NSLog(@"methodCall") + }) +); + +// 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 |