| // RUN: clang-refactor extract -selection=test:%s %s -- 2>&1 | grep -v CHECK | FileCheck %s |
| |
| @interface NSArray |
| + (id)arrayWithObjects:(const id [])objects count:(unsigned long)cnt; |
| @end |
| |
| void extractStatementNoSemiObjCFor(NSArray *array) { |
| /*range astmt=->+2:4*/for (id i in array) { |
| int x = 0; |
| } |
| } |
| // CHECK: 1 'astmt' results: |
| // CHECK: static void extracted() { |
| // CHECK-NEXT: for (id i in array) { |
| // CHECK-NEXT: int x = 0; |
| // CHECK-NEXT: }{{$}} |
| // CHECK-NEXT: }{{[[:space:]].*}} |
| |
| void extractStatementNoSemiSync() { |
| id lock; |
| /*range bstmt=->+2:4*/@synchronized(lock) { |
| int x = 0; |
| } |
| } |
| // CHECK: 1 'bstmt' results: |
| // CHECK: static void extracted() { |
| // CHECK-NEXT: @synchronized(lock) { |
| // CHECK-NEXT: int x = 0; |
| // CHECK-NEXT: }{{$}} |
| // CHECK-NEXT: }{{[[:space:]].*}} |
| |
| void extractStatementNoSemiAutorel() { |
| /*range cstmt=->+2:4*/@autoreleasepool { |
| int x = 0; |
| } |
| } |
| // CHECK: 1 'cstmt' results: |
| // CHECK: static void extracted() { |
| // CHECK-NEXT: @autoreleasepool { |
| // CHECK-NEXT: int x = 0; |
| // CHECK-NEXT: }{{$}} |
| // CHECK-NEXT: }{{[[:space:]].*}} |
| |
| void extractStatementNoSemiTryFinalllllly() { |
| /*range dstmt=->+3:4*/@try { |
| int x = 0; |
| } @finally { |
| } |
| } |
| // CHECK: 1 'dstmt' results: |
| // CHECK: static void extracted() { |
| // CHECK-NEXT: @try { |
| // CHECK-NEXT: int x = 0; |
| // CHECK-NEXT: } @finally { |
| // CHECK-NEXT: }{{$}} |
| // CHECK-NEXT: }{{[[:space:]].*}} |