韩天峰
|
6577f9bf81
|
fix: 修正项目名称与输出目录的解析逻辑
|
2 months ago |
韩天峰
|
fc5eeb3c0f
|
refactor:统一整数字面量生成并添加平台后缀支持
|
2 months ago |
韩天峰
|
c3f0151e87
|
feat(aot): 支持类继承、接口及抽象类的类型兼容与运行时检查
允许子类对象赋值给父类/接口/抽象类声明的类型变量和容器,引入 declaredClass 区分声明类型与实际类型,对无法静态证明的继承关系添加运行时类型
|
2 months ago |
韩天峰
|
8231208eaf
|
fix(php): 修复继承访问控制和扩展清理逻辑
- 修改 canAccessProtectedProperty 替代 isInheritedFrom 处理保护属性访问
- 更新扩展模式下的映射表清理逻辑,使用 C++ 样式初始化替代 PHP 数组赋值
- 修复继承检查中私有成员重声明的处理,跳过私有父类属性/常量的兼容性检查
- 优化可见性检查逻辑,支持可见性放宽但阻止私有成员重声明
- 添加对父类可访问子类保护方法和常量的支持测试
- 新增属性和常量可见性放宽及私有成员重声明的测试用例
- 添加扩展清理映射表的运行时测试验证
|
2 months ago |
韩天峰
|
3ca0d64a6a
|
feat(preprocessor): 增强PHP预处理器功能支持接口成员和常量解析
- 实现接口方法、常量和继承列表的解析与存储
- 添加对抽象方法签名的完整解析支持
- 增加命名空间常量的解析和类型推断功能
- 实现接口实现验证和方法签名匹配检查
- 支持多重接口继承关系的解析处理
- 添加重复定义(类、接口、常量、方法)的检测机制
- 实现trait别名和修饰符的正确解析
- 增强依赖排序算法支持接口和trait依赖关系
- 完善方法重写签名验证逻辑
- 添加接口方法由trait提供的情况处理
|
2 months ago |
韩天峰
|
1ad6b54a49
|
fix(php): 修复项目配置中的路径解析和文件过滤问题
- 修复 YAML 配置中 include-paths、link-paths 和 output 的相对路径解析
- 实现忽略文件过滤功能,过滤被 ignore 规则匹配的源文件
- 修复命令行参数 output 对目标名称设置的影响
- 添加单元测试验证相对路径选项相对于 YAML 目录的解析
- 添加测试验证 CLI 参数覆盖 YAML 配置的行为
- 添加测试验证 YAML 配置中忽略文件的过滤逻辑
|
2 months ago |
韩天峰
|
c8372fce04
|
refactor(php): 重构编译命令选项配置方法
- 将 getCompileCommandOptions 方法重命名为 getCommonCompileCommandOptions
- 提取公共编译选项到独立方法中避免重复代码
- 优化 C 编译和原生编译选项获取逻辑
- 改进链接命令中的库路径和库列表处理方式
- 更新测试用例以验证编译选项配置的正确性
- 在测试中添加对转义参数的支持验证
|
2 months ago |
韩天峰
|
47d11655ef
|
fix(backend): 修复编译选项中的安全定义转义和路径处理问题
- 为MSVC和GCC编译器添加unsafe defines的安全转义测试
- 实现formatDefineFlag方法统一处理宏定义转义逻辑
- 添加临时目录管理功能用于测试清理
- 重构共享编译选项构建逻辑到buildSharedCompileFlags方法
- 修复response file参数转义问题解决路径空格问题
- 更新clang-format命令执行时的路径转义
- 改进项目配置文件解析支持多种配置选项
- 添加对YAML配置文件自定义名称和相对路径的支持
- 实现代码格式化功能的可用性检查机制
- 修复默认formatCode选项设置为false的问题
|
2 months ago |
韩天峰
|
4632a8bba4
|
feat(compiler): 添加项目配置文件解析和类型检查功能
- 实现了 project.yml 配置文件解析支持 include-paths、defines、lto 等选项
- 添加了命令行参数与配置文件选项的合并逻辑
- 增强了类型检查错误消息中的可调用名称显示
- 添加了多个测试用例验证配置文件解析和类型检查行为
- 实现了 PHP 代码中父类方法重写和联合类型的功能测试
|
2 months ago |
韩天峰
|
11acfdf10f
|
refactor(aot): 移除UnsafePtr类型支持并优化std容器实现
- 移除UnsafePtr类型声明及相关参数标记功能
- 修改std容器变量访问方式,统一使用_ref后缀引用
- 更新unsafe_cast函数参数验证逻辑,移除UnsafePtr参数检查
- 重构std容器在C++代码中的声明和初始化方式
- 删除相关测试用例及单元测试中的UnsafePtr验证逻辑
- 统一std容器赋值、遍历、删除操作的引用访问模式
|
3 months ago |
韩天峰
|
efd6beac87
|
test(phpunit): 添加PHP编译器相关单元测试
- 创建AST节点类型测试类AstNodeTypeTest,测试各种节点类型的识别方法
- 添加ClassDef扩展功能测试类ClassDefExtendedTest,验证类定义的各种属性和方法
- 实现CompilerBase API测试类CompilerBaseApiTest,测试类型转换、变量名生成等功能
- 创建FunctionContext扩展测试类Context/FunctionContextExtendedTest,测试作用域管理和变量操作
- 添加FunctionDef扩展测试类Entity/FunctionDefExtendedTest,测试函数定义相关功能
|
3 months ago |