韩天峰
|
7292635b3d
|
refactor(php): 重构PHP编译器代码结构
- 将字符串转义相关方法从CompilerBase移至Utils trait中
- 将括号检查和闭合表达式验证逻辑从CompilerBase移至Utils trait
- 修改genCharPtr方法支持字符串转义参数
- 添加genRawStr方法用于生成原始字符串字面量
- 在ClosureGenerator中正确保存和恢复对象状态
- 修复类名定义中的命名空间分隔符问题
- 更新模板文件中属性偏移量生成方式
- 修复内存分配中的类型转换问题
|
6 months ago |
韩天峰
|
aa6be88c6c
|
feat(php): 添加对PHP枚举类型的支持
- 在ClassDef实体中添加enum属性用于标识枚举类
- 修改编译器基类以支持枚举常量访问的特殊处理
- 移除旧的枚举示例文件并添加新的测试用例
- 更新翻译器以识别和标记枚举类型的类定义
|
7 months ago |
韩天峰
|
288f1dddef
|
feat(closure): 实现闭包功能支持类内部方法访问$this
- 添加closure_005.phpt和closure_006.phpt测试用例验证闭包功能
- 修改CompilerBase.php中函数定义相关属性为可空类型并添加methodDef
- 实现resetMethod方法重置方法定义状态
- 优化函数参数和局部变量处理逻辑
- 添加genLocalVarDecl和genReturnCode方法生成变量声明和返回代码
- 改进闭包解析逻辑支持返回类型声明
- 更新newClosure调用传递this_参数支持类内闭包访问实例
- 重构MethodDef构造函数移除FunctionDef参数依赖
|
7 months ago |
韩天峰
|
9118fc4e33
|
feat(compiler): 支持函数别名和命名空间功能
- 实现了函数导入别名功能,解决命名冲突问题
- 添加了命名空间支持,包括嵌套命名空间解析
- 更新了函数定义实体类以支持命名空间属性
- 修改了编译器基础类中的函数解析逻辑
- 调整了扩展模板中函数注册的命名空间处理
- 优化了预处理器中的命名空间定义逻辑
- 完善了翻译器中函数包装器的命名空间支持
- 新增了函数别名查找和解析功能
- 添加了相关测试用例验证功能正确性
|
7 months ago |
韩天峰
|
1d6e7522ab
|
refactor(php): 将PHP实体类移动到Entity子命名空间
- 将ClassDef.php移至src/Php/Entity/ClassDef.php并更新命名空间
- 将ClassLikeDef.php移至src/Php/Entity/ClassLikeDef.php并更新命名空间
- 将ConstantDef.php移至src/Php/Entity/ConstantDef.php并更新命名空间
- 将FunctionDef.php移至src/Php/Entity/FunctionDef.php并更新命名空间
- 将InterfaceDef.php移至src/Php/Entity/InterfaceDef.php并更新命名空间
- 将MethodDef.php移至src/Php/Entity/MethodDef.php并更新命名空间
- 将PropertyDef.php移至src/Php/Entity/PropertyDef.php并更新命名空间
- 更新CompilerBase.php中的实体类引用路径
- 更新MagicMethodDetector.php中的MethodDef引用路径
- 更新Translator.php中的所有实体类引用路径
|
7 months ago |