- 修改 parseSwitch 方法参数类型为 Node\Stmt\Switch_ - 添加变量表达式检测和变量声明支持 - 实现单个 case 的 if 语句优化转换 - 添加 switch case 条件列表合并逻辑 - 实现 case 语句块的语法验证检查 - 添加空语句块跳过处理 - 完善 switch 语句的控制流检查 - 新增 switch-001 和 switch-002 测试用例pull/1/head
parent
208a34b134
commit
2dac76a62d
3 changed files with 93 additions and 5 deletions
@ -0,0 +1,29 @@ |
|||||||
|
--TEST-- |
||||||
|
switch |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function test($value) { |
||||||
|
switch ($value) { |
||||||
|
case 100: |
||||||
|
echo "gt 100\n"; |
||||||
|
break; |
||||||
|
case 88: { |
||||||
|
echo "gt 88\n"; |
||||||
|
break; |
||||||
|
} |
||||||
|
default: |
||||||
|
echo "default\n"; |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
function main() |
||||||
|
{ |
||||||
|
test(100); |
||||||
|
test(88); |
||||||
|
test(77); |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
gt 100 |
||||||
|
gt 88 |
||||||
|
default |
||||||
@ -0,0 +1,22 @@ |
|||||||
|
--TEST-- |
||||||
|
switch |
||||||
|
--FILE-- |
||||||
|
<?php |
||||||
|
function main() |
||||||
|
{ |
||||||
|
$c = 100; |
||||||
|
switch ($c) { |
||||||
|
case 100: |
||||||
|
case 99: |
||||||
|
case 88: { |
||||||
|
echo "gt 88\n"; |
||||||
|
break; |
||||||
|
} |
||||||
|
default: |
||||||
|
echo "default\n"; |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
||||||
|
--EXPECT-- |
||||||
|
gt 88 |
||||||
Loading…
Reference in new issue