韩天峰
|
c53e7afdb5
|
test(lang): 添加多个 bug 修复测试用例
- 添加 Bug #21094 关于 set_error_handler 不接受方法的测试
- 添加 Bug #21961 关于 get_parent_class() 段错误的测试
- 添加 Bug #23624 关于 foreach 留下当前数组键为 null 的测试
- 添加 Bug #26869 关于常量作为静态数组键的测试
- 添加 Bug #30726 关于 -.1 类似数字处理不当的测试
- 添加 Cannot re-assign $this 的测试用例和相关代码文件
- 更新编译器默认原生类型设置为 true
- 添加 strlen 函数调用优化处理
|
5 months ago |
韩天峰
|
8670df2a3e
|
fix(php): 解决函数返回引用类型的编译错误
- 添加对函数返回引用类型的检查,禁止返回引用类型
- 修复赋值引用表达式的解析逻辑,确保左侧为变量
- 添加临时变量处理非变量表达式的引用赋值
- 新增函数返回引用的测试用例验证错误处理
|
5 months ago |
韩天峰
|
cfcbfcdb2f
|
fix(php): 修复变量重新赋值检查和unset操作的错误处理
- 修复数组类型变量重新赋值检查逻辑,排除VAR类型
- 优化错误消息格式,移除多余的空格
- 为unset操作添加未定义变量检查
- 为unset操作添加不支持类型的操作数错误处理
- 添加未定义变量测试用例
- 添加不支持的unset类型测试用例
|
5 months ago |
韩天峰
|
9f52d48770
|
feat(php): 添加类型对象重新赋值检查功能
- 在对象赋值时检测类型冲突并抛出错误
- 实现 typed object 的类型安全检查机制
- 添加 Cannot re-assign typed object 错误提示
- 扩展 AssignTest 测试用例验证类型重分配行为
- 优化变量类型检查逻辑确保类型一致性
|
5 months ago |
韩天峰
|
a1c922dac2
|
feat(compiler): 添加变量重新赋值类型检查功能
- 实现了对变量重新赋值时的类型验证逻辑
- 当变量从一种类型重新赋值为另一种类型时抛出致命错误
- 添加了测试基类用于编译器测试
- 新增变量重新赋值的单元测试用例
- 在代码差异中检测到变量类型变化时触发错误处理
|
5 months ago |
韩天峰
|
e508b6de4f
|
refactor(php): 重构编译器内部函数和类管理机制
- 移除 CompilerTest 单例模式,改为 create 方法创建实例
- 将 nativeFunctions 重命名为 functions 并统一使用 addFunction/hasFunction/getFunction 方法管理
- 将 nativeConstants 重命名为 constants 并统一使用相应方法管理
- 将 nativeClasses 相关方法重构为 getClass/hasClass 等统一命名方式
- 添加 ConstantDef 实体类用于常量定义管理
- 优化函数查找逻辑,使用 escapeFunction 进行名称转换
- 重构预处理器中的函数注册逻辑
- 更新模板文件中的变量引用以匹配新的属性命名
- 添加重复函数、类的测试用例并移除旧的错误测试文件
|
5 months ago |
韩天峰
|
76c1104234
|
feat(compiler): 添加测试模式和静态变量重复检测功能
- 引入 CompilerTest 类用于测试模式运行
- 在 CompilerBase 中添加 forTest 标志和 TestError 异常
- 实现静态变量重复定义的检测和报错功能
- 添加 phpunit 配置文件和引导文件
- 创建重复静态变量的测试用例
- 添加基本静态变量功能的测试文件
- 修改 Translator 的 addFiles 方法支持文件列表添加
- convert 方法中添加文件路径解析功能
|
5 months ago |