File tree Expand file tree Collapse file tree 4 files changed +86
-0
lines changed
clang/test/Refactor/SwitchToIf Expand file tree Collapse file tree 4 files changed +86
-0
lines changed Original file line number Diff line number Diff line change 1+ // RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+ void foo (int x) {
4+ switch (x) { // CHECK: Start refactoring here
5+ case 1 :
6+ bar ();
7+ break ;
8+ case 2 :
9+ baz ();
10+ break ;
11+ default :
12+ qux ();
13+ }
14+ }
15+
16+ // CHECK: if (x == 1) {
17+ // CHECK-NEXT: bar();
18+ // CHECK-NEXT: } else if (x == 2) {
19+ // CHECK-NEXT: baz();
20+ // CHECK-NEXT: } else {
21+ // CHECK-NEXT: qux();
22+ // CHECK-NEXT: }
Original file line number Diff line number Diff line change 1+ // RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+ void g (int v) {
4+ switch (v) {
5+ case 3 :
6+ alpha ();
7+ [[fallthrough]];
8+ case 4 :
9+ beta ();
10+ break ;
11+ default :
12+ gamma ();
13+ }
14+ }
15+
16+ // CHECK: if (v == 3) {
17+ // CHECK-NEXT: alpha();
18+ // CHECK-NEXT: beta();
19+ // CHECK-NEXT: } else if (v == 4) {
20+ // CHECK-NEXT: beta();
21+ // CHECK-NEXT: } else {
22+ // CHECK-NEXT: gamma();
23+ // CHECK-NEXT: }
Original file line number Diff line number Diff line change 1+ // RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+ void test (int n) {
4+ switch (n) {
5+ case 1 :
6+ case 2 :
7+ handleSmall ();
8+ break ;
9+ case 10 :
10+ handleLarge ();
11+ break ;
12+ default :
13+ handleOther ();
14+ }
15+ }
16+
17+ // CHECK: if (n == 1 || n == 2) {
18+ // CHECK-NEXT: handleSmall();
19+ // CHECK-NEXT: } else if (n == 10) {
20+ // CHECK-NEXT: handleLarge();
21+ // CHECK-NEXT: } else {
22+ // CHECK-NEXT: handleOther();
23+ // CHECK-NEXT: }
Original file line number Diff line number Diff line change 1+ // RUN: clang-refactor -action switch-to-if %s -- 2>&1 | FileCheck %s
2+
3+ void f (int k) {
4+ switch (k) {
5+ case 5 :
6+ ping ();
7+ break ;
8+ case 7 :
9+ pong ();
10+ break ;
11+ }
12+ }
13+
14+ // CHECK: if (k == 5) {
15+ // CHECK-NEXT: ping();
16+ // CHECK-NEXT: } else if (k == 7) {
17+ // CHECK-NEXT: pong();
18+ // CHECK-NEXT: }
You can’t perform that action at this time.
0 commit comments