|
|
Implement continue for switch.
The overall strategy is to convert the following:
switch (e) {
l_0: case e0: s_0; break;
l_1: case e1: s_1; continue l_i;
...
l_n: default: s_n; continue l_j;
}
into this:
var label;
switch (e) {
case e0: label = 0; break;
case e1: label = 1; break;
...
default: label = n; break;
}
l: while (true) {
switch (label) {
case 0: s_0; break l;
case 1: s_1; label = i; continue l;
...
case n: s_n; label = j; continue l;
}
}
BUG=http://dartbug.com/8270
R=ngeoffray@google.com
Committed: https://code.google.com/p/dart/source/detail?r=22838
Total comments: 18
Total comments: 5
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+509 lines, -240 lines) |
Patch |
 |
M |
sdk/lib/_internal/compiler/implementation/elements/modelx.dart
|
View
|
1
2
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
sdk/lib/_internal/compiler/implementation/resolution/members.dart
|
View
|
1
|
2 chunks |
+2 lines, -17 lines |
0 comments
|
Download
|
 |
M |
sdk/lib/_internal/compiler/implementation/ssa/builder.dart
|
View
|
1
2
3
|
13 chunks |
+349 lines, -193 lines |
0 comments
|
Download
|
 |
M |
sdk/lib/_internal/compiler/implementation/ssa/codegen.dart
|
View
|
1
|
5 chunks |
+29 lines, -12 lines |
0 comments
|
Download
|
 |
M |
sdk/lib/_internal/compiler/implementation/ssa/nodes.dart
|
View
|
1
2
|
4 chunks |
+14 lines, -3 lines |
0 comments
|
Download
|
 |
M |
tests/co19/co19-dart2dart.status
|
View
|
1
2
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
tests/co19/co19-dart2js.status
|
View
|
1
2
|
1 chunk |
+1 line, -8 lines |
0 comments
|
Download
|
 |
A |
tests/language/infinite_switch_label_test.dart
|
View
|
1
2
|
1 chunk |
+37 lines, -0 lines |
0 comments
|
Download
|
 |
M |
tests/language/language.status
|
View
|
1
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
tests/language/language_dart2js.status
|
View
|
1
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
A |
tests/language/nested_switch_label_test.dart
|
View
|
1
2
|
1 chunk |
+42 lines, -0 lines |
0 comments
|
Download
|
 |
A |
tests/language/switch_label2_test.dart
|
View
|
1
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
Total messages: 8 (0 generated)
|