韩天峰
|
dac3fa81e8
|
fix(generator): 修复闭包生成器中的变量状态恢复问题
- 将闭包生成器中的变量状态恢复代码从条件判断前移到条件判断后
- 确保在不使用当前作用域时正确恢复原始局部变量状态
- 统一对象、对象包装器、参数和闭包状态的恢复逻辑位置
refactor(compiler): 重构编译器基类中的函数和类管理逻辑
- 添加对函数定义存储结构的注释说明
- 移除废弃的 isNativeFunction 方法
- 添加 inClosure 状态重置功能
- 优化命名空间类名获取逻辑,移除冗余反斜杠
- 修复类方法不应保存到函数集合中的问题
- 添加函数添加辅助方法和原生函数检查方法
- 更新函数调用返回类型检测逻辑
feat(translator): 增强翻译器对类和接口的支持
- 添加对PHP属性声明的支持
- 增加对类常量重复定义的错误检查
- 完善接口解析和实现逻辑
- 优化类定义和继承关系处理
- 改进类常量和属性定义的解析方式
style(helper): 更新C++辅助头文件依赖
- 添加对Zend属性的支持
- 统一代码格式化和命名约定
perf(core): 优化对象克隆和类型转换性能
- 使用 convertToObject 方法替代直接标识符解析
- 提升实例化检查和类型转换效率
- 改进属性访问和错误报告机制
|
6 months ago |
韩天峰
|
7292635b3d
|
refactor(php): 重构PHP编译器代码结构
- 将字符串转义相关方法从CompilerBase移至Utils trait中
- 将括号检查和闭合表达式验证逻辑从CompilerBase移至Utils trait
- 修改genCharPtr方法支持字符串转义参数
- 添加genRawStr方法用于生成原始字符串字面量
- 在ClosureGenerator中正确保存和恢复对象状态
- 修复类名定义中的命名空间分隔符问题
- 更新模板文件中属性偏移量生成方式
- 修复内存分配中的类型转换问题
|
6 months ago |
韩天峰
|
35117d5c14
|
feat(compiler): 添加构造方法属性提升支持
- 在 ArgInfo 中添加 property 属性标识参数是否为属性提升
- 引入 PropertyPromotion trait 处理属性提升代码生成
- 在编译器中实现构造方法属性提升的解析和代码生成逻辑
- 支持将 promoted 参数转换为类属性定义
- 生成对应的 this_.setProperty 调用代码
- 更新函数信息解析以处理属性提升参数
|
6 months ago |
韩天峰
|
78f3ca8025
|
code format
|
6 months ago |
韩天峰
|
b091d2dad8
|
Revert "code format"
This reverts commit b6d64407f3.
|
6 months ago |
韩天峰
|
b6d64407f3
|
code format
|
6 months ago |
韩天峰
|
70eccf59fc
|
feat(closure): 添加闭包生成功能并支持占位符调用
- 实现 ClosureGenerator trait 来统一处理闭包生成逻辑
- 添加 ArrowFunction 和 Closure 表达式的解析方法
- 引入 PlaceHolder 异常用于处理可调用占位符场景
- 添加 PlaceHolderGenerator trait 处理占位符闭包生成
- 实现 genCharPtr 和 genArray 工具函数
- 更新 FuncCall 和 StaticCall 处理以支持占位符语法
- 修复变参占位符的错误处理机制
|
6 months ago |