韩天峰
|
b1dcaaa37e
|
test(aot): 新增 Symfony 模式测试及 PHPT 产物清理脚本
|
2 months ago |
韩天峰
|
f22499bdf9
|
feat(foreach): 支持动态类型表达式和IteratorAggregate嵌套
修复foreach遍历动态表达式时的类型分发,正确处理IteratorAggregate嵌套及无效返回值检测
|
2 months ago |
韩天峰
|
6baaa9a221
|
test: 添加 Symfony 模式及引用相关测试
|
2 months ago |
韩天峰
|
952210f1ff
|
test(aot): 添加 Symfony 模式测试
|
2 months ago |
韩天峰
|
cb03f9452c
|
test(aot): 添加Symfony模式测试
|
2 months ago |
韩天峰
|
5ee74b2d9d
|
fix(parser): 修复引用赋值时的类型推断错误
|
2 months ago |
韩天峰
|
ac5bfa6c68
|
test(aot): 添加 Symfony 数组与箭头函数模式测试
|
2 months ago |
韩天峰
|
7d20c4e994
|
feat(preprocessor): 添加属性参数中数组和新表达式的校验
|
2 months ago |
韩天峰
|
4fc0acc47f
|
fix(optimizer): 修复含占位符参数的函数调用优化
在 FuncCallOptimizer 中遇到占位符表达式(如 First-class callable)时跳过优化,
避免参数遍历中的类型处理错误导致运行时异常。
|
2 months ago |
韩天峰
|
1d2dab4875
|
test(symfony): 添加 AOT 模式兼容性测试与文档
|
2 months ago |
韩天峰
|
67d795a506
|
test(aot): 添加Symfony模式测试
|
2 months ago |
韩天峰
|
4c806c8e16
|
test(symfony): 添加AOT编译器Symfony模式测试
|
2 months ago |
韩天峰
|
db4d92b616
|
chore(test): 将编译器测试移至 aot 目录
|
2 months ago |
韩天峰
|
dfc94ac09e
|
refactor(compiler): 使用节点属性替代上下文标识处理属性写操作
|
2 months ago |
韩天峰
|
bffa660427
|
refactor: 引入 parseWritableIdentifier 替代手动 inAssignExpr 设置
|
2 months ago |
韩天峰
|
6afb8e3689
|
fix(aot): 修复数组复合赋值表达式返回值
修复复合赋值运算符(如 +=)在数组元素上使用时返回值错误的问题。
之前代码使用了存储变量而非读取变量进行运算,并且未正确返回运算结果。
现在通过使用读取变量参与计算并返回临时变量值来修复此问题,
同时添加了 FFI 和数组相关的测试用例。
|
2 months ago |
韩天峰
|
4ceb938009
|
refactor(tests): 将测试从 aot 目录移动到 compiler 目录
|
2 months ago |
韩天峰
|
d5590b52c5
|
chore(tests): 将测试从 aot 目录迁移至 compiler 目录
|
2 months ago |
韩天峰
|
d55bb041f6
|
test(aot): 添加字符串与函数解析等单元测试
|
2 months ago |
韩天峰
|
7ccdd3add9
|
test: 添加AOT多项功能验证测试
|
2 months ago |
韩天峰
|
934628e2c2
|
test: 添加数组、异常、过滤及箭头函数测试
|
2 months ago |
韩天峰
|
eb5510e64a
|
feat: 将打包产物重命名为tpc
|
2 months ago |
韩天峰
|
e0439a245e
|
docs: 添加 AOT 与 PHP 不兼容特性清单
|
2 months ago |
韩天峰
|
b40a448804
|
docs(examples): 添加 FFI 崩溃示例
|
2 months ago |
韩天峰
|
f1f2e7e5cb
|
Merge pull request 'fix(compiler): 修复 finally 使用变量' (#12) from fix-finally-use-var into master
Reviewed-on: #12
|
2 months ago |
韩天峰
|
bc6d15c81a
|
fix(compiler): preserve finally semantics for catch throws
|
2 months ago |
韩天峰
|
956a05cdc0
|
Merge pull request 'fix(php): 修复参数类型重写兼容性检查以遵循逆变规则' (#13) from fix-declaration-compatible into master
Reviewed-on: #13
|
2 months ago |
韩天峰
|
72db18c22a
|
fix(php): validate composite parameter variance
|
2 months ago |
韩天峰
|
14f3a5a311
|
Merge pull request '如果else分支只有注释,那就不渲染这个分支' (#11) from empty-else into master
Reviewed-on: #11
|
2 months ago |
韩天峰
|
e95f996c06
|
fix(aot): skip comment-only else branch
|
2 months ago |
Yurun
|
61099c4c9e
|
fix(php): 修复参数类型重写兼容性检查以遵循逆变规则
|
2 months ago |
Yurun
|
d0cb1395e5
|
fix(compiler): 修复 finally 使用变量
|
2 months ago |
韩天峰
|
bc799fda0a
|
fix:修复静态回调解析及拼接赋值等编译问题
|
2 months ago |
韩天峰
|
2a75143036
|
fix(aot): 处理类常量引用的全限定类名
|
2 months ago |
韩天峰
|
2e85940bff
|
refactor(foreach): 提取键值赋值与循环体解析为独立方法
|
2 months ago |
韩天峰
|
7937f05282
|
fix: 修复解构键提取、switch默认分支及finally控制流
正确处理数组/foreach解构中的键名与嵌套结构,
修复switch中default位于匹配case前时执行顺序错误的问题,
确保finally块在break/continue/goto离开try/catch时被注入,
并支持动态静态方法与属性调用。
|
2 months ago |
NathanFreeman
|
c73dedc306
|
如果else分支只有注释,那就不渲染这个分支
|
2 months ago |
韩天峰
|
bd1a4db9d4
|
fix(compiler): 修复函数use导入及declare编码解析
修复 `use function` 导入时完整命名空间解析错误,存储完整FQN而非仅命名空间部分。
修复 `declare` 语句中字符串/整数类型值的解析,支持 `encoding="UTF-8"` 等声明。
新增相关功能的AOT测试覆盖。
|
2 months ago |
韩天峰
|
c94be9c6a9
|
fix(compiler):注入finally块到return路径并修复属性注册
|
2 months ago |
韩天峰
|
b6d0488ea6
|
fix(compiler): 修复多处运算符和表达式编译副作用处理
|
2 months ago |
韩天峰
|
aab412084f
|
fix: 修复变参参数缺失命名参数及闭包副作用等问题
|
2 months ago |
韩天峰
|
c740a24501
|
fix: 修复异常处理与exit语义,重构动态属性操作
|
2 months ago |
韩天峰
|
5f9f7b2f96
|
Merge pull request 'fix(tests): 更新测试预期与改进跨平台兼容性' (#4) from fix-windows-test-20260630 into master
Reviewed-on: #4
|
2 months ago |
韩天峰
|
d08757cf71
|
Merge pull request 'feat(build): 支持 Windows 应用程序清单文件配置' (#10) from windows-mainfest into master
Reviewed-on: #10
|
2 months ago |
Yurun
|
0d8f99f6cf
|
feat(build): 支持 Windows 应用程序清单文件配置
|
2 months ago |
韩天峰
|
8df3e8bfef
|
refactor(parser): 重构赋值操作符解析逻辑并调整测试文件结构
- 调整 AssignOpTrait.php 中变量解析顺序,优化代码执行流程
- 将 inAssignExpr 上下文切换移到属性写入检查之后
- 移除比较操作符测试文件中的太空船操作符测试用例
- 创建独立的太空船操作符测试文件 spaceship.phpt
- 重新组织测试用例结构以提高可维护性
|
2 months ago |
韩天峰
|
1e774af718
|
Merge pull request '支持数组、属性数组链式赋值和追加同时链式赋值' (#8) from fix-multi-var-assign into master
Reviewed-on: #8
|
2 months ago |
韩天峰
|
5e2b7efbe2
|
Merge pull request 'fix(compiler): 修复对象::class获取类名' (#7) from fix-object-class into master
Reviewed-on: #7
|
2 months ago |
韩天峰
|
8044fb05ee
|
Merge pull request 'fix(compiler): 修复引用参数是对象时调用方法错误' (#6) from fix-ref-object into master
Reviewed-on: #6
|
2 months ago |
韩天峰
|
6e5b186c91
|
refactor(php): 重构PHP解析器的表达式处理和动态属性访问
- 将parseExpr替换为parseExprAsValue方法,统一处理void表达式转换为null
- 移除多处trimBrackets调用,简化表达式解析流程
- 添加emitDynamicPropertyFetchRead/Write/Unset等统一动态属性访问方法
- 重构PropertyWriteTarget类,将objectExpr和propertyExpr设为私有并添加getter方法
- 合并动态属性访问的目标路径和传统回退路径
- 修改测试框架中的exec方法为compile方法,更新相关测试用例
- 移除void表达式相关的错误检查,在运行时将其转换为null值
- 优化类型转换表达式的括号处理,移除不必要的trimBrackets调用
- 统一动态属性读取、写入、引用和取消设置的操作方法
|
2 months ago |