test(php): 添加对象属性默认数组测试并移除运行时初始化检查

- 新增 multiple default array properties 测试用例
- 移除 ArrayInitPlan 的 requiresRuntimeInit 检查逻辑
- 简化 wrapArrayInitPlan 方法实现
pull/2/head
韩天峰 2 months ago
parent 0dc846a4fc
commit 29236bb66a
  1. 4
      src/Php/Translator.php
  2. 38
      tests/aot/object_property/default-array-002.phpt

@ -85,10 +85,6 @@ class Translator extends Preprocessor
protected function wrapArrayInitPlan(ArrayInitPlan $plan, string $body): string
{
if (!$plan->requiresRuntimeInit()) {
return $body;
}
return "do {\n" . $plan->init . $body . $plan->clean . "} while (0);\n";
}

@ -0,0 +1,38 @@
--TEST--
multiple default array properties
--FILE--
<?php
class Test
{
public array $literalStrings = [];
public array $classMap = [];
public array $stdTypeMap = [];
public array $funcMap = [];
public array $propMap = [];
}
function main(): void
{
$obj = new Test;
var_dump(get_object_vars($obj));
}
?>
--EXPECT--
array(5) {
["literalStrings"]=>
array(0) {
}
["classMap"]=>
array(0) {
}
["stdTypeMap"]=>
array(0) {
}
["funcMap"]=>
array(0) {
}
["propMap"]=>
array(0) {
}
}
Loading…
Cancel
Save