韩天峰
|
04610c5897
|
refactor(reflection): 重构返回类型提取逻辑以支持联合和交集类型
- 提取公共方法 extractNamedReturnType 处理返回类型
- 移除对 ReflectionUnionType 和 ReflectionIntersectionType 的直接检查
- 简化函数和方法返回类型的获取逻辑
- 添加对联合类型返回值的测试用例
- 添加对交集类型返回值的测试用例
- 统一返回类型处理方式提高代码可维护性
|
2 months ago |
韩天峰
|
a01548ae96
|
fix(php): 修复继承检查中的可见性宽化和参数匹配逻辑
- 实现了PHP允许的方法可见性宽化(如protected到public),但禁止窄化
- 添加了子类可以添加可选尾随参数的支持
- 修复了必需参数数量比较逻辑,确保子类不能要求比父类更多的必需参数
- 添加了对缺少父类声明参数的检查
- 实现了额外子类参数必须为可选或可变参数的验证
- 添加了可见性等级比较函数来正确处理继承可见性检查
|
2 months ago |
韩天峰
|
23f1a1eef9
|
test(aot): 添加动态调用相关测试用例并修复命名空间方法重写检测
- 移除测试文件中不必要的 use native_types 语句
- 新增 call-interface-method.phpt 测试接口方法调用功能
- 新增 call-magic-fallback-typed-object.phpt 测试魔法方法回调功能
- 新增 call-multilevel-override.phpt 测试多层级继承方法重写功能
- 新增 call-parent-sibling-dispatch.phpt 测试父类参数分发到兄弟类方法功能
- 新增 call-protected-override.phpt 测试受保护方法重写功能
- 添加命名空间重写键名使用完整类名的单元测试
- 添加 static 属性 array_pop 操作的调试测试用例
|
2 months ago |
韩天峰
|
73e4754a49
|
feat(backend): 实现响应文件机制解决命令行长度限制
- 添加 createResponseFile 方法将目标文件列表写入 .rsp 文件
- 在 MSVC、GCC/Clang 编译器后端中使用 @rsp 参数替代长命令行
- 修复单元测试以验证响应文件参数生成
- 支持路径含空格时的双引号包裹处理
- 兼容 Windows 8191 字符命令行长度限制
|
2 months ago |
韩天峰
|
7c2192ff54
|
refactor(backend): 重构编译器后端实现以支持 GCC/Clang 共享基类
- 将 Clang 和 GCC 后端重构为继承自新的 GccLikeBackend 基类
- 移除重复的编译和链接命令构建逻辑
- 添加平台特定的钩子方法用于扩展功能
- 在 FunctionContext 中添加 SSA 构建器属性
- 统一编译器和链接器命令的初始化方式
- 优化 Windows 平台兼容性处理逻辑
|
2 months ago |
韩天峰
|
286330f45d
|
test(php): 添加继承错误测试用例并实现继承兼容性检查
- 添加了类常量可见性错误的测试用例
- 添加了方法继承不兼容的测试用例
- 实现了属性重写的类型、可见性和只读性检查
- 实现了常量重写的类型和可见性检查
- 实现了方法重写的可见性检查
- 添加了继承错误相关的测试文件和断言逻辑
- 在翻译器中集成了继承兼容性验证功能
|
2 months ago |
韩天峰
|
23a100caf4
|
feat(php): 添加PHP方法重写签名验证功能
- 实现了子类方法重写时参数数量、返回类型、参数类型的兼容性检查
- 添加了按引用传递参数和可变参数的签名匹配验证
- 新增了继承错误测试用例文件
- 重构了方法重写检查逻辑,提取为独立的验证函数
- 更新了错误提示信息以显示具体的不兼容原因
|
2 months ago |
韩天峰
|
b3e489d334
|
refactor(aot): 重构标准容器实现将unordered_map重命名为ordered_map
- 将StdUnorderedMap重命名为StdOrderedMap并在所有相关文件中更新引用
- 修改polyfills.php中std::unordered_map为std::ordered_map,std::map为std::unordered_map
- 更新文档中关于标准容器的命名和功能描述
- 修复所有测试文件中关于容器类型的断言和期望值
- 调整编译器内部类型标识符从TYPE_STD_UNORDERED_MAP到TYPE_STD_ORDERED_MAP
- 修改解析器中对标准容器类型的判断和处理逻辑
- 更新单元测试中的类型检查和声明获取方法
|
2 months ago |
韩天峰
|
18b4bf4ed6
|
test(phpunit): 添加未定义方法调用和属性访问测试用例
- 添加 undefined-method-call.php 测试文件
- 添加 undefined-prop-access.php 测试文件
- 创建基本的 PHP 对象方法调用测试场景
- 创建基本的 PHP 对象属性访问测试场景
|
2 months ago |
韩天峰
|
e4e63e7b8c
|
fix(php): 修复静态属性引用槽在动态引用绑定后的有效性问题
- 实现了对原生类型静态属性的引用管理机制
- 为整型和浮点型静态属性创建稳定的 zval* 槽位
- 添加了静态属性引用信息的条件检查和初始化逻辑
- 更新了静态属性访问的帮助函数选择机制
- 修改了变量声明生成以统一使用 zval* 类型
- 优化了头文件包含的代码生成格式
- 添加了相关的单元测试验证对象属性操作收集
- 新增了静态属性引用槽崩溃场景的测试用例
|
2 months ago |
韩天峰
|
602e8b34ee
|
feat(compiler): 为嵌入类方法添加混合返回类型推断支持
- 实现了对匿名类和嵌入类方法的混合返回类型自动推断
- 添加了魔术方法返回类型敏感性检测逻辑
- 集成了祖先类方法返回类型的递归检查机制
- 扩展了类继承链中的返回类型声明分析功能
- 优化了内部类和接口方法返回类型的反射检测
- 新增了类方法返回类型未声明时的混合类型注入逻辑
fix(optimizer): 修复对象属性提升优化中的引用槽位安全检测
- 修正了对象暴露给动态代码时的属性引用安全检查机制
- 更新了方法调用和函数调用的安全性判断逻辑
- 重构了对象参数传递时的危险操作检测算法
- 添加了
|
2 months ago |
韩天峰
|
4acb632c13
|
feat(compiler): 为类方法自动推断返回类型并优化属性访问检查
- 在 CompilerBase 中添加类方法返回类型自动推断逻辑
- 为魔术方法设置特定的返回类型标识符
- 移除 isInferredPhpDocType 条件判断简化类型处理
- 更新对象处理器设置使用自定义处理器覆盖 unset 操作
- 修改 SsaPropOptimizer 中的危险属性操作检测逻辑
- 移除对 unset($o->prop) 的特殊处理因为对象处理器已拒绝属性取消设置
- 移除动态调用对象暴露的安全性检查优化性能
- 删除不再需要的 isSafeObjectExposureCall 等辅助方法
|
2 months ago |
韩天峰
|
e6c3e22f6e
|
feat(compiler): 添加未定义变量检查和对象处理器初始化
- 在属性访问时检查未定义变量并报告错误
- 初始化类对象处理器以支持对象操作
- 添加对未定义变量属性访问的测试用例
- 添加对未定义变量方法调用的测试用例
- 为动态代码中的类型化属性取消设置添加测试
|
2 months ago |
韩天峰
|
785d9c9d6d
|
test(php): 添加 compact 和 globals 相关功能测试用例
- 新增 CompactTest 类测试 compact('this') 在不同上下文中的行为
- 添加 CountGlobalsTest 类测试优化器路径中未定义变量检测逻辑
- 实现 globals 数组访问形式的编译通过验证
- 补充 optimizer-undefined-var.php 测试文件验证错误回退机制
- 添加 globals-array-access.php 测试文件验证数组访问正常编译
- 创建 global.php 示例文件展示全局变量使用方式
|
2 months ago |
韩天峰
|
1e6fb4972a
|
feat(php): 支持 compact 函数中的 'this' 变量
- 添加了对 compact('this') 的支持,允许在类方法中使用 this 变量
- 实现了 'this' 变量的特殊处理逻辑,避免未定义变量错误
- 添加了类上下文检查,防止在类外部使用 compact('this')
- 创建了新的测试文件来验证 compact('this') 在不同场景下的行为
- 更新了函数调用优化器以正确处理 'this' 变量的特殊情况
|
2 months ago |
韩天峰
|
cce6967acf
|
fix(php): 修复静态属性晚绑定支持问题
- 修改 CompilerBase.php 中的静态属性处理逻辑,正确区分 self 和 static 关键字
- 为 native-property-full-name.php 添加 writeStatic 测试方法
- 更新 NativePropertyTest.php 中的编译方法返回值类型和测试用例
- 添加静态属性晚绑定功能的完整测试用例 static-prop-late-static-binding.phpt
|
2 months ago |
韩天峰
|
91675ed366
|
feat(php): 添加除零检查和改进原生属性访问功能
- 添加对字面量除零、模零、赋值除零和赋值模零操作的编译时检查
- 实现对整数、浮点数和字符串类型的零值检测
- 为 AssignOpTrait 和 BinaryOpTrait 添加 guardLiteralDivisionByZero 方法
- 改进原生属性访问的类名解析,使用完整的类名进行查找
- 支持 static 关键字作为类名解析的一部分
- 添加 isSameClassName 和 isSameOrSubclassOf 辅助方法用于类继承关系判断
- 实现受保护属性访问权限控制的 canAccessProtectedProperty 方法
- 添加多个测试文件验证除零检查和原生属性访问功能
- 创建 NativePropertyTest 和 OperatorTest 测试类验证相关功能
|
2 months ago |
韩天峰
|
19164e92bc
|
docs(compiler): 添加AOT编译速度优化研究文档并完善测试用例
- 添加AOT编译速度优化研究笔记,涵盖瓶颈分析和优化方向
- 新增构造函数抛异常析构函数调用测试用例
- 添加混合数组默认参数函数测试用例
- 补充私有方法重写功能测试代码
- 增加抽象类实例化相关测试文件
|
2 months ago |
韩天峰
|
7939f28f37
|
test(phpunit): 添加抽象类和私有方法重写的测试用例
- 添加 testNewAbstractClass 方法测试抽象类实例化错误
- 添加 testOverridePrivateMethod 方法测试私有方法重写错误
- 使用 exec 方法验证预期的错误消息输出
- 扩展测试覆盖范围以包含更多边界情况
|
2 months ago |
韩天峰
|
dbcadeb873
|
feat(php): 添加抽象方法支持和调用保护
- 在 ClassDef 中添加 abstractMethods 数组存储抽象方法
- 实现 addAbstractMethod 和 hasAbstractMethod 方法
- 添加 getMethodFlags 方法统一获取方法标志
- 在 Preprocessor 中解析并添加抽象方法到类定义
- 实现 guardAbstractMethod 防止调用抽象方法
- 在父类方法调用中添加抽象方法检查
- 更新单元测试验证抽象方法调用错误处理
|
2 months ago |
韩天峰
|
ba8c96712a
|
fix(optimizer): 解决对象属性优化中的动态调用安全检查问题
- 添加了对 eval 和 include 语句的对象属性访问保护
- 实现了内部函数和静态方法调用的安全性检查机制
- 新增了 isSafeObjectExposureCall 方法来判断安全的对象暴露调用
- 修复了对象别名和动态属性操作中的潜在风险
- 添加了相关的单元测试验证安全性检查逻辑
|
3 months ago |
韩天峰
|
8aa1745e1d
|
feat(parser): 添加对Big*数值类型不支持运算符的检查
- 在BinaryOpTrait中添加Big*类型运算符支持检查逻辑
- 检测到BigFloat、Decimal或BigInt类型使用不支持的运算符时抛出错误
- 添加测试用例验证模运算符%对BigFloat类型的不支持
- 添加测试用例验证按位与运算符&对Decimal类型的不支持
- 添加测试用例验证左移运算符<<对BigFloat类型的不支持
- 添加测试用例验证按位或运算符|对Decimal类型的不支持
|
3 months ago |
韩天峰
|
fc2cc22594
|
feat(php): 添加对原生函数调用中命名参数的支持
- 在 checkNativeCallArgs 中验证命名参数
- 实现 getFunctionArgNameIndex 和 getVariadicArgIndex 辅助方法
- 添加 validateNativeNamedCallArgs 方法验证命名参数规则
- 重构函数调用参数处理逻辑支持命名参数重排序
- 实现变长参数和命名参数的混合处理
- 添加构建原生变长参数的方法
- 更新参数类型转换逻辑
- 添加相关测试用例验证功能正确性
|
3 months ago |
韩天峰
|
279fe22d82
|
fix(compiler): 解决对象属性类型检查和赋值操作问题
- 添加对象属性赋值时的类型验证逻辑
- 实现固定类型对象属性的 unset 操作默认值恢复
- 修复 std 命名空间内置类型方法的类型检测
- 更新对象属性类型推断和方法返回类型解析
- 添加对象属性子类赋值到基类类型的错误检查
- 修改测试用例以反映 AOT 编译器的严格类型行为
|
3 months ago |
韩天峰
|
21338f022f
|
refactor(compiler): 优化对象属性提升逻辑并增强危险操作检测
- 移除对this_对象属性unset操作的特殊警告处理
- 重构对象属性提升逻辑,支持更多类型的安全提升判断
- 添加unsafeObjectProps上下文跟踪以标记不可安全提升的属性
- 扩展危险属性操作检测功能,支持动态属性名和引用操作检测
- 优化循环变量分析器,增加对字符串函数的支持
- 添加多项单元测试验证属性提升和危险操作检测的准确性
- 改进代码生成,支持不同类型的属性值宏展开
|
3 months ago |
韩天峰
|
dbaa5a10e0
|
feat(compiler): 添加循环变量优化器以提升整数类型推断
- 在CompilerBase中集成LoopVarOptimizer trait
- 实现range-proven循环变量优化算法,支持while和for循环
- 添加多项式时间复杂度的循环计数器类型窄化功能
- 集成安全检查机制防止不安全的整数运算推导
- 添加针对strlen、count等函数的非负整数类型识别
- 实现循环边界安全检测避免溢出风险
- 新增多种循环模式的测试用例验证优化效果
- 更新现有测试注释以反映新的类型推断行为
|
3 months ago |
韩天峰
|
cdd0b05bf7
|
test(analysis): 添加SSA分析相关组件的单元测试
- 添加SsaFlags常量值的测试验证
- 添加SsaVar对象创建和默认值的测试
- 添加PiConstraint约束条件的测试用例
- 添加SsaBlock基本块结构的测试验证
- 添加VarState变量状态管理的测试
- 添加SsaBuilder构造器基础功能测试
- 添加控制流图CFG构建的测试用例
- 添加goto语句和标签处理的测试
- 添加类型约束构建buildPiConstraints的测试
- 添加
|
3 months ago |
韩天峰
|
207bc6b48b
|
test(compiler): 添加类方法重写顺序测试用例
- 创建 class-method-override-order.php 测试文件,包含子类先于父类定义的场景
- 实现 ClassMethodOverrideTest 类,验证编译器对类方法重写的双向递归处理
- 添加 testChildBeforeParentOverride 方法,测试父子类方法重写关系的正确识别
- 验证父类方法被正确标记为被子类覆盖的状态
- 确保子类方法未被错误标记为已覆盖状态
- 通过反射访问编译器内部的 classMethodOverride 属性进行断言验证
|
3 months ago |
韩天峰
|
5e549a4c15
|
perf(compiler): 优化静态属性访问性能并增强类型检查
- 添加对静态属性 unset 操作的错误处理
- 实现静态属性的 C++ 引用优化提升访问性能
- 为整型和浮点型静态属性添加原生引用支持
- 在函数上下文中添加静态属性引用映射表
- 更新微基准测试包含静态属性操作性能测试
- 添加静态属性 unset 的单元测试用例
- 修复静态属性访问相关的类型声明问题
|
3 months ago |
韩天峰
|
bf31da8e7b
|
feat(compiler): 实现SSA分析和类型优化功能
- 添加SsaBuilder类用于构建SSA形式和e-SSA分析
- 引入SsaTypeOptimizer trait实现基于SSA的类型窄化优化
- 将FuncCallOptimizer移至Optimizer命名空间
- 在FunctionContext中添加SSA分析器实例
- 实现变量类型的自动窄化为C++原生类型(int/float)
- 添加防止危险操作的类型安全检查
- 支持常量折叠和溢出检测逻辑
- 重构函数参数名称以提高代码可读性
- 添加完整的SSA构建器单元测试覆盖各种场景
|
3 months ago |
韩天峰
|
64e9d76770
|
test(assign): 添加严格类型声明为0的测试用例
- 新增 testStrictTypesZeroNotAllowed 测试方法
- 验证 declare(strict_types=0) 不被允许的情况
- 添加对应的测试代码文件 declare-strict-types-zero.php
- 确保只有 strict_types=1 被支持的功能测试
|
3 months ago |
韩天峰
|
26a538680f
|
refactor(php): 将 stream_cast 函数替换为 toStream 方法
- 移除 stream_cast 全局函数实现
- 将 stream_cast($stream) 调用转换为 $stream->toStream() 方法调用
- 更新编译器中的流类型识别逻辑,移除对 stream_cast 的特殊处理
- 修改标准容器解析器中的 unsafePtr 为 boxExpr 属性
- 更新相关测试文件中的调用方式和断言
- 替换不安全指针转换为标准容器转换方法
|
3 months ago |
韩天峰
|
7a164aa8ee
|
refactor(php): 重构关键词方法查找机制以支持扩展方法
- 将 TO_METHOD_TYPE_MAP 重命名为 KEYWORD_METHOD_MAP
- 实现统一的关键词方法查找函数 findKeywordMethod()
- 添加对 __ 扩展方法的支持,允许作为 $receiver->camelCase() 调用
- 在方法分派前先检查关键词扩展方法
- 为关键词扩展方法实现蛇形命名转换和参数验证逻辑
- 更新现有方法调用以使用新的关键词方法映射常量
|
3 months ago |
韩天峰
|
52fcc86660
|
feat(php): 添加对void类型方法调用的检查
- 在CompilerBase.php中检测接收器类型为void时抛出致命错误
- 为变量表达式方法调用添加void类型检查
- 为命名方法调用添加void类型检查
- 在单元测试中添加void方法调用测试用例
- 创建void方法调用测试代码文件
|
3 months ago |
韩天峰
|
8faac7d972
|
fix(compiler): 修复方法调用解析中的参数传递错误
- 修正了 BackendOptionsTest 中的优化级别断言,从 /O2 改为 /O1
- 修复了 CompilerBase 中的方法名参数传递错误,将 $method 改为 $methodName
- 在无法调用方法时添加了致命错误提示
- 删除了 PreprocessorTest 中已弃用的缓存测试方法
|
3 months ago |
韩天峰
|
11acfdf10f
|
refactor(aot): 移除UnsafePtr类型支持并优化std容器实现
- 移除UnsafePtr类型声明及相关参数标记功能
- 修改std容器变量访问方式,统一使用_ref后缀引用
- 更新unsafe_cast函数参数验证逻辑,移除UnsafePtr参数检查
- 重构std容器在C++代码中的声明和初始化方式
- 删除相关测试用例及单元测试中的UnsafePtr验证逻辑
- 统一std容器赋值、遍历、删除操作的引用访问模式
|
3 months ago |
韩天峰
|
69e4386454
|
test(compiler): 添加大数类型运算测试和自增自减操作限制
- 添加 Decimal 算术运算测试用例
- 添加 BigInt 复合赋值运算测试用例
- 添加 Decimal 复合赋值运算测试用例
- 添加 Decimal 比较和转换测试用例
- 添加 BigInt 二元运算符测试用例
- 添加 Decimal 运算符重载测试用例
- 添加 Decimal 一元负号测试用例
- 在编译器中实现对 BigInt、Decimal 和 BigFloat 类型的自增自减操作限制
- 添加 PHPUnit 测试验证自增自减操作错误提示
- 为 BigInt 和 Decimal 类型禁用 ++ 和 -- 操作符
|
3 months ago |
韩天峰
|
f33641aead
|
docs(native_types): 更新原生类型文档并完善类型提升规则说明
- 将标题从"AOT编译器原生类型支持说明"改为"AOT编译器类型系统说明"
- 新增高精度数值类型支持(bigInteger、decimal、bigFloat)
- 更新类型映射表,增加底层实现列和新类型条目
- 完善二元运算类型提升规则文档,包括Var主导规则、Float优先规则、大数类型精度提升规则
- 添加类型提升完整矩阵表格便于查阅
- 更新复合赋值运算符类型转换说明
- 将最后更新日期更新至2026年5月26日
|
3 months ago |
韩天峰
|
12d44084ec
|
feat(aot): 添加对表达式结果的通用方法调用支持
- 实现了函数调用、方法调用、静态调用和属性获取后的通用方法调用
- 新增 stream_cast 伪函数用于流类型转换测试
- 支持数组方法链式调用和可变操作
- 添加表达式上下文中的流转换功能
- 扩展了对内部函数反射返回类型的处理
- 优化了数组操作的返回值一致性
- 完善了通用方法调用的错误处理机制
|
3 months ago |
韩天峰
|
6309346c9a
|
feat(core): 通用方法实现,纯静态,零成本抽象
|
3 months ago |
韩天峰
|
f331591b65
|
test(assign): 添加变量重新赋值类型检查的测试用例
- 更新了现有测试用例的消息格式以包含具体的变量和类型信息
- 添加了对象类型到各种基本类型的重新赋值测试用例(int、float、bool、str、array)
- 添加了基本类型到对象类型的重新赋值测试用例(int、float、bool、array)
- 添加了字符串数组到各种基本类型的重新赋值测试用例(int、float、bool)
- 添加了标量类型到数组类型的重新赋值测试用例(int、float、bool、str)
- 新增了多个PHP代码文件用于测试不同类型的重新赋值场景
- 重命名了原有的字符串到对象重新赋值测试文件
|
3 months ago |
韩天峰
|
5d150a2b02
|
refactor(php): 优化变量赋值类型检查逻辑
- 移除数组类型重分配检查的特殊处理
- 添加全局翻译器变量用于测试环境
- 引入通用变量赋值表达式检查方法
- 改进错误消息中的变量名显示格式
- 统一变量类型转换错误处理流程
|
3 months ago |
韩天峰
|
efd6beac87
|
test(phpunit): 添加PHP编译器相关单元测试
- 创建AST节点类型测试类AstNodeTypeTest,测试各种节点类型的识别方法
- 添加ClassDef扩展功能测试类ClassDefExtendedTest,验证类定义的各种属性和方法
- 实现CompilerBase API测试类CompilerBaseApiTest,测试类型转换、变量名生成等功能
- 创建FunctionContext扩展测试类Context/FunctionContextExtendedTest,测试作用域管理和变量操作
- 添加FunctionDef扩展测试类Entity/FunctionDefExtendedTest,测试函数定义相关功能
|
3 months ago |
韩天峰
|
d73d077a7a
|
add phpunit files
|
3 months ago |
韩天峰
|
feef37d28f
|
fix(php): 解决数组取消设置时空维度的错误处理
- 在数组维度获取为空时添加致命错误提示
- 添加对 unset($arr[]) 语法的错误检测
- 新增对应的单元测试验证空数组维度取消设置的错误情况
- 创建测试文件验证数组取消设置的边界情况
|
4 months ago |
韩天峰
|
4411216354
|
refactor(aot): 简化 unsafe_ptr 使用并改进错误处理
- 移除手动创建 unsafe_ptr 的调用,直接传递容器变量
- 添加对 UnsafePtr 参数重新赋值的错误检查
- 验证 UnsafePtr 参数必须是标准容器变量
- 更新 unsafe_cast 错误消息以反映参数要求
- 移除不再需要的 unsafe_ptr 解析方法
- 添加新的测试用例验证各种错误场景
|
4 months ago |
韩天峰
|
7f4dee40c0
|
fix(aot): 解决std容器unsafe_cast类型检查问题
- 添加了stdTypeMap用于存储标准类型映射关系
- 实现了registerStdType方法用于注册标准类型ID
- 为std数组、向量和映射容器添加了类型ID分配逻辑
- 在unsafe_cast操作中增加了类型ID验证机制
- 添加了类型不匹配时的异常抛出功能
- 修复了self::class和parent::class的命名空间解析问题
- 更新了unsafe_ptr创建时的类型ID传递逻辑
- 添加了多个测试用例验证类型不匹配场景
|
4 months ago |
韩天峰
|
79bc9d4e69
|
feat(aot): 添加对UnsafePtr类型和相关函数的支持
- 在ArgInfo类中添加unsafePtr属性
- 添加UnsafePtr类型到编译器类型映射
- 实现std::unsafe_ptr()和std::unsafe_cast()函数的解析和处理逻辑
- 添加对UnsafePtr类型的变量跟踪和验证机制
- 支持通过unsafe_cast进行标准容器的不安全转换
- 添加相应的单元测试验证功能正确性
|
4 months ago |
韩天峰
|
ee240aed25
|
test(php): 添加标准容器静态类匹配测试用例
- 添加 testStdContainerStaticClassMismatch 测试方法验证对象分配错误
- 更新 StdContainerParser 中的 fatal error 消息格式保持一致性
|
4 months ago |
韩天峰
|
661ab07cd9
|
refactor(backend): 重构编译器后端实现以支持自定义编译器路径
- 修改 Clang 和 Gcc 类构造函数以接受自定义编译器命令参数
- 引入 CompilerFactory 来统一管理编译器创建和检测逻辑
- 更新 BackendTest 添加对自定义编译器路径的支持测试
- 实现 Windows 平台下 lld-link 检测和回退机制
- 重构 CompilerBase 类中的平台和编译器初始化逻辑
- 移除旧的平台特定检测方法并整合到 PlatformFactory
- 更新编译和链接命令构建以使用新的后端抽象层
- 优化 include paths、library paths 和 libraries 的处理流程
- 改进目标文件扩展名和链接选项的跨平台处理
|
4 months ago |