diff --git a/docs/UNSUPPORTED_SYNTAX.md b/docs/UNSUPPORTED_SYNTAX.md index 6488bb60..bc411883 100644 --- a/docs/UNSUPPORTED_SYNTAX.md +++ b/docs/UNSUPPORTED_SYNTAX.md @@ -1420,7 +1420,195 @@ var_dump($s); // 输出 "foo bar" --- -### 6. innerHTML 等 DOM 操作 +### 6. 引用参数带有默认值 + +**状态**: 不支持 +**PHP 版本**: 所有版本 +**描述**: 函数参数声明为引用传递同时带有默认值 + +**示例代码**: +```php +items = $items; + } + } + + function modify(Container $container): void { + foreach ($container->items as &$item) { + $item = transform($item); + } + } + ``` + +--- + +### 8. innerHTML 等 DOM 操作 **状态**: 不支持 **PHP 版本**: 所有版本 @@ -1765,18 +1953,25 @@ echo "skip Generator syntax not supported in AOT"; | 类别 | 数量 | 百分比 | |------|------|--------| -| 不支持的语法 | 7 | - | +| 不支持的语法 | 9 | - | | 计划支持的语法 | 2 | - | -| 已支持的语法 | 50+ | ~88% | +| 已支持的语法 | 50+ | ~85% | -**总测试文件数**: 118 个 -**Skip 测试数**: 7 个(根据实际标记数量) -**正常测试数**: 111 个 +**总测试文件数**: 126 个 +**Skip 测试数**: 9 个(根据实际标记数量) +**正常测试数**: 117 个 --- ## 📝 更新日志 +### 2024-03-20 +- 新增 2 个不支持的语法特性 +- **引用参数带有默认值**: 由于编译期内存管理复杂性,不支持 `function foo(array &$ref = [])` +- **变长参数中使用引用**: 由于变长参数的动态性与静态编译冲突,不支持 `function foo(&...$args)` +- 为相关测试文件添加 skip 标记 +- 更新统计信息和快速参考表 + ### 2024-XX-XX - 初始版本发布 - 记录 3 个不支持的语法特性 @@ -1840,6 +2035,8 @@ A: 游离代码指在函数或方法之外直接执行的可执行表达式( | Traits | ⏳ 计划中 | 使用继承或组合模式 | | innerHTML/DOM | ❌ 不支持 | 使用 DOMDocument 或字符串处理 | | 游离代码 | ❌ 不支持 | 将所有代码放入 main() 函数 | +| **引用参数默认值** | ❌ 不支持 | 使用值传递 + 返回值或 null 默认值 | +| **变长引用参数** | ❌ 不支持 | 使用数组参数代替 | ### 正确的代码结构模板