mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
18507853cb
Don't suggest "continue N+1" if there is no wrapping loop. The resulting code would be illegal.
67 lines
1.4 KiB
PHP
67 lines
1.4 KiB
PHP
--TEST--
|
|
Warning on continue targeting switch
|
|
--FILE--
|
|
<?php
|
|
|
|
function test() {
|
|
switch ($foo) {
|
|
case 0:
|
|
continue; // INVALID
|
|
case 1:
|
|
break;
|
|
}
|
|
|
|
while ($foo) {
|
|
switch ($bar) {
|
|
case 0:
|
|
continue; // INVALID
|
|
case 1:
|
|
continue 2;
|
|
case 2:
|
|
break;
|
|
}
|
|
}
|
|
|
|
switch ($bar) {
|
|
case 0:
|
|
while ($xyz) {
|
|
continue 2; // INVALID
|
|
}
|
|
case 1:
|
|
while ($xyz) {
|
|
continue;
|
|
}
|
|
case 2:
|
|
while ($xyz) {
|
|
break 2;
|
|
}
|
|
}
|
|
|
|
while ($foo) {
|
|
switch ($bar) {
|
|
case 0:
|
|
while ($xyz) {
|
|
continue 2; // INVALID
|
|
}
|
|
case 1:
|
|
while ($xyz) {
|
|
continue 3;
|
|
}
|
|
case 2:
|
|
while ($xyz) {
|
|
break 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Warning: "continue" targeting switch is equivalent to "break" in %s on line 6
|
|
|
|
Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in %s on line 14
|
|
|
|
Warning: "continue 2" targeting switch is equivalent to "break 2" in %s on line 25
|
|
|
|
Warning: "continue 2" targeting switch is equivalent to "break 2". Did you mean to use "continue 3"? in %s on line 41
|