- 修改 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