韩天峰
|
d8a828558d
|
refactor(generator): 将模板渲染改为直接代码生成
- 将 extension.cc.php 模板文件删除,改为在 PHP 代码中直接生成 C++ 代码
- 修改 equalsApartFromNameAndRefcount 方法可见性为 public
- 在函数查找逻辑中添加 TODO 注释说明必须为 public 方法的原因
- 添加 scope.php 示例文件用于测试作用域相关功能
- 删除 simple.php 中的冗余注释代码
- 移除模板渲染方法 render 的实现
|
4 months ago |
韩天峰
|
69a1c24610
|
refactor(bootstrap): 调整函数文件加载方式并更新依赖
- 将 src/functions.php 从 composer autoloader 移至 bootstrap 文件直接引入
- 更新 composer.json 配置移除 functions.php 的文件自动加载配置
- 升级多个依赖包版本包括 league/climate、symfony 相关组件等
- 新增 ergebnis/agent-detector 依赖用于代理检测功能
- 更新 phpunit 和相关开发依赖到最新稳定版本
|
4 months ago |
韩天峰
|
9744cc9e86
|
feat(build): 添加编译器构建功能并更新项目配置
- 新增 src/compiler-build.php 作为编译器入口文件
- 在 extension.cc.php 中添加 zend 异常处理保护机制
- 更新 project.yml 将项目类型从 ext 改为 bin,版本升级到 0.1.0
- 添加新的依赖文件路径到项目配置中
- 在 Php/Symbol.php 中添加 getClassEntrySafe 方法
- 修改 Php/Translator.php 使用安全的类入口获取方法
- 修复 __toString 方法的返回类型声明
- 添加 examples/error/impl.php 示例文件
|
4 months ago |
韩天峰
|
eaa598a48e
|
fix(php): 解决字符串连接操作符的void类型检查和引用参数处理问题
- 在parseBinaryOpConcat方法中添加了对左右操作数的类型检查,防止void类型的连接操作
- 为concat操作添加了专门的符号函数php::concat
- 修复了引用参数传递时的变量类型验证逻辑
- 更新了常量定义方法的返回类型从string改为void
- 修正了预处理器中函数声明的换行符处理
- 将Iterator方法调用从exec改为call以统一接口调用方式
- 添加了concat_void.php示例文件用于测试void类型连接错误
- 新增了ref相关的测试用例文件
|
4 months ago |
韩天峰
|
6426046857
|
fix(generator): 解决接口中trait使用解析问题并完善trait别名处理
- 在gen_stub.php中添加对Interface_类型的检查,避免接口中使用trait时报错
- 移除Translator.php中generateStubFile的异常捕获逻辑,直接抛出异常
- 重构parseTraitUseForStub方法,支持完整的trait别名和冲突解决语法
- 添加getFullMethodName和parseTraitUseOptions辅助方法处理trait方法映射
- 完善trait属性、常量和方法的合并逻辑,支持insteadof和as关键字
- 更新parseTraitUse方法以正确处理trait别名映射关系
- 修复trait方法名称映射和代码生成中的多个边界情况
|
4 months ago |