韩天峰
8ac4c5872d
refactor(core): rename PhpAot namespace to TypePhp across codebase
...
- Updated namespace declarations from PhpAot\Php to TypePhp in all source files
- Modified import statements to use TypePhp instead of PhpAot\Php throughout the codebase
- Adjusted composer.json autoload configuration to map TypePhp namespace to src directories
- Updated documentation references from PhpAot\Php to TypePhp in comments and markdown files
- Changed class references in test files to use new TypePhp namespace
- Updated bootstrap and utility scripts to reference TypePhp namespace
- Removed abstract base class inheritance in CompilerBase class
- Added new properties and methods for indentation and mode handling in CompilerBase
- Updated exception handling to use new TypePhp\Exception namespace
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
韩天峰
73e4754a49
feat(backend): 实现响应文件机制解决命令行长度限制
...
- 添加 createResponseFile 方法将目标文件列表写入 .rsp 文件
- 在 MSVC、GCC/Clang 编译器后端中使用 @rsp 参数替代长命令行
- 修复单元测试以验证响应文件参数生成
- 支持路径含空格时的双引号包裹处理
- 兼容 Windows 8191 字符命令行长度限制
2 months ago
韩天峰
8faac7d972
fix(compiler): 修复方法调用解析中的参数传递错误
...
- 修正了 BackendOptionsTest 中的优化级别断言,从 /O2 改为 /O1
- 修复了 CompilerBase 中的方法名参数传递错误,将 $method 改为 $methodName
- 在无法调用方法时添加了致命错误提示
- 删除了 PreprocessorTest 中已弃用的缓存测试方法
3 months ago
韩天峰
661ab07cd9
refactor(backend): 重构编译器后端实现以支持自定义编译器路径
...
- 修改 Clang 和 Gcc 类构造函数以接受自定义编译器命令参数
- 引入 CompilerFactory 来统一管理编译器创建和检测逻辑
- 更新 BackendTest 添加对自定义编译器路径的支持测试
- 实现 Windows 平台下 lld-link 检测和回退机制
- 重构 CompilerBase 类中的平台和编译器初始化逻辑
- 移除旧的平台特定检测方法并整合到 PlatformFactory
- 更新编译和链接命令构建以使用新的后端抽象层
- 优化 include paths、library paths 和 libraries 的处理流程
- 改进目标文件扩展名和链接选项的跨平台处理
4 months ago
韩天峰
9186d04da4
refactor(backend): 将调试配置选项从 debug_info 统一更改为 debug
...
- 将所有编译器后端(GCC、Clang、MSVC)中的 debug_info 参数重命名为 debug
- 更新单元测试中相应的配置选项参数名称
- 修改命令行参数解析从 --debug-info 改为 --debug
- 调整文档中关于调试选项的描述和示例
- 修复链接阶段不应包含调试符号的逻辑错误
- 重构内部调试变量命名从 debugInfo 改为 debug
- 更新 YAML 配置文件中的调试选项键名
4 months ago
韩天峰
bcef27c44a
test(backend): 添加后端编译器单元测试并修复编译选项构建功能
...
- 添加 BackendOptionsTest.php 测试 MSVC/GCC/Clang 编译选项构建
- 添加 BackendTest.php 测试后端编译器基本功能和完整编译流程
- 在 Clang.php 中实现 buildFullCompileOptions 和 buildFullLinkOptions 方法
- 创建 BUGFIX_MISSING_INCLUDE_PATHS.md 文档记录包含路径缺失问题
- 修复编译选项中缺少包含路径导致的编译失败问题
- 实现平台特定的编译选项处理(Windows MSVC 兼容模式等)
4 months ago