韩天峰
|
64cf047f07
|
fix(parser): 解决空安全操作符在写入上下文中的使用问题
- 在赋值操作中添加空安全操作符检查,防止在写入上下文中使用
- 修复前置递增、后置操作、递减和unset操作中的空安全检查
- 添加对空安全属性访问的类型检测和错误处理
- 禁止对void函数调用结果进行赋值或二元运算
- 修复继承中私有属性重声明的错误处理逻辑
- 添加空安全写入操作的相关测试用例
|
2 months ago |
韩天峰
|
5027650611
|
feat(php): 添加表达式类型检查确保void表达式不能作为值或条件使用
- 在二元操作符解析中添加对左右操作数的类型检查
- 在有序操作数解析中添加对操作数的类型检查
- 修正类型检测逻辑,移除对void类型的特殊处理
- 在幂运算解析中添加对左右操作数的类型检查
- 在比较表达式解析中添加对操作数的类型检查
- 在短路逻辑操作符解析中添加对左右操作数的类型检查
- 添加assertExprCanBeUsedAsCondition方法用于条件表达式验证
- 在数组解析中添加对键值的类型检查
- 在for循环条件中添加对表达式的类型检查
- 在三元操作符解析中添加对条件和分支的类型检查
- 在match表达式解析中添加对条件和分支的类型检查
- 在位运算、布尔运算、打印、克隆等操作中添加类型检查
- 在类型转换操作中添加对操作数的类型检查
- 添加测试用例验证void表达式在各种场景下的使用限制
|
2 months ago |
韩天峰
|
13258d34a6
|
fix(parser): 解决构造函数返回值和void表达式使用问题
- 在赋值操作中添加void表达式检查,防止将void用作赋值值
- 添加构造函数返回值检测,禁止构造函数返回值
- 添加函数参数中的void表达式检查
- 新增构造函数返回值测试用例
- 新增父类构造函数作为值使用的测试用例
- 更新文档说明构造函数语义一致性要求
|
2 months ago |
韩天峰
|
4214e1e278
|
feat(php): 添加对构造函数析构函数返回类型和魔术方法的严格检查
- 实现构造函数和析构函数不能声明返回类型的检查
- 实现克隆方法返回类型必须为void的验证
- 添加魔术方法静态性和可见性检查规则
- 实现魔术方法参数数量和类型的严格校验
- 添加魔术方法参数类型检查如__get方法必须接受字符串参数
- 实现可选参数不能在必需参数之前的检查
- 添加闭包引用参数和变长引用参数的错误检查
- 优化参数计数错误消息中的预期参数数量提示
- 添加AOT编译器语言设计原则文档说明
|
2 months ago |
韩天峰
|
399f77d5c5
|
feat(php): 实现对函数参数引用传递的支持
- 添加了 AOT 调用参数信息获取功能
- 实现了按索引和名称获取参数信息的方法
- 增加了对命名参数引用传递的判断支持
- 添加了引用参数值解析功能
- 优化了新对象构造函数参数传递逻辑
- 完善了对动态调用和继承链的参数分析
- 新增静态函数、方法和构造函数引用参数测试用例
|
2 months ago |
韩天峰
|
3d6e0b5689
|
feat(php): 添加对参数解包后位置参数的验证支持
- 在函数调用参数验证中添加了对参数解包的支持
- 实现了 hasUnpackCallArg 方法用于检测参数解包
- 添加了 shouldUseDynamicCallForNativeArgs 方法优化动态调用判断
- 修复了参数解包后不能跟位置参数的错误检查逻辑
- 更新了命名参数和解包参数的验证顺序
- 添加了多个测试用例验证参数解包功能的正确性
- 增加了 AOT 测试确保多异常捕获和抛出异常对象的功能正常
|
2 months ago |
韩天峰
|
2a9fcfb665
|
fix(php): 修复throw语句类型检查和对象转换逻辑
- 添加了表达式类型检测来确保只抛出对象类型
- 重构了throw语句的C++代码生成逻辑
- 优化了catch块中的类型检查条件构建方式
- 添加了对抛出非对象类型的静态错误检查
- 新增了throw标量值的测试用例
|
2 months ago |
韩天峰
|
f8c37f91c3
|
test(type): 添加类型检查和属性赋值相关测试用例
- 添加实例属性类型检查消息包含类名的测试用例
- 添加属性联合赋值操作使用运行时类型检查的测试用例
- 添加动态属性赋值TypeError捕获的测试用例
- 添加二元运算符操作数从左到右求值顺序的测试用例
- 添加原生优化调用参数从左到右求值的测试用例
- 添加构造函数属性提升联合参数检查的测试用例
fix(assign): 修复属性赋值时的类型检查问题
- 在属性赋值操作中添加对象属性类型检查包装
- 修复属性赋值表达式中的类型验证逻辑
- 添加静态属性赋值的类型检查支持
fix(ctor): 修复构造函数属性提升的参数验证顺序
- 将构造函数属性提升移到参数类型验证之后执行
- 在数组初始化计划后添加错误检查机制
|
2 months ago |
韩天峰
|
54bca6942e
|
feat(parser): 添加对象属性赋值类型检查和二元运算操作数处理
- 实现对象属性赋值时的类型验证检查机制
- 添加静态属性赋值的类型安全保护
- 引入有序操作数解析以支持复杂表达式计算
- 增加对函数调用参数的类型安全检查
- 优化二元运算符操作数的类型转换处理
- 添加测试用例验证类型检查功能正确性
- 扩展属性定义实体以支持类型检查配置
- 实现操作数材料化以处理副作用表达式
|
2 months ago |
韩天峰
|
cff27c7c79
|
refactor(parser): 重构二元操作符和控制流的解析逻辑
- 实现逻辑运算符短路求值功能,支持 && 和 || 操作符的惰性求值
- 添加 parseShortCircuitLogicalOp 方法处理逻辑运算符的特殊解析逻辑
- 新增 parseExprWithCapturedStmts 方法捕获表达式解析过程中的语句
- 实现 appendCapturedStmtLines 和 genConditionWithCapturedStmts 辅助方法
- 重构 for 循环条件和循环体表达式的解析逻辑
- 修改三元运算符解析以支持条件表达式的语句捕获
- 重构 if 语句解析使用递归函数处理 if-elseif-else 链
- 更新 while 和 do-while 循环处理条件表达式中的副作用
- 重构 switch 语句解析逻辑,改进 case 条件的匹配机制
- 添加多个测试用例验证条件表达式副作用的执行时机
|
2 months ago |
韩天峰
|
4ad8c0a6fa
|
feat(php): 实现表达式惰性求值和语句上下文处理
- 在三元运算符解析中添加分支语句收集和处理逻辑
- 实现match表达式的惰性求值支持
- 添加条件表达式和函数调用参数的惰性求值机制
- 重构代码结构以支持语句前后的代码块插入
- 更新变量赋值和返回语句的生成逻辑
- 添加lambda包装器用于复杂表达式求值
- 优化临时变量管理和作用域控制
|
2 months ago |
韩天峰
|
00f79ecdc1
|
feat(php): 实现PHP函数调用中的命名参数和参数解包功能
- 添加对命名参数语法的支持,包括参数验证和解析逻辑
- 实现参数解包功能,支持...操作符展开数组参数
- 添加hasNamedCallArg和hasUnpackBeforeNamedArg辅助方法进行参数检查
- 实现genCallUserFuncArray方法用于处理复杂参数场景
- 添加对参数顺序的验证,防止解包后使用命名参数的情况
- 更新parseCallArgs方法以支持分离命名参数和位置参数
- 添加相关测试用例验证新功能的正确性
|
2 months ago |
韩天峰
|
0bfa2869c5
|
feat(compiler): 支持命名参数和提升属性功能
- 添加了对函数和构造函数中命名参数的支持
- 实现了提升属性(Property Promotion)功能
- 新增了对 C++ 保留关键字作为参数名的支持
- 完善了闭包类型检查和参数验证逻辑
- 增加了内部函数调用的命名参数验证
- 优化了参数类型检查和错误提示信息
- 添加了相关测试用例验证功能正确性
|
2 months ago |
韩天峰
|
91f7085662
|
feat(closure): 为闭包添加类型检查功能
- 在ClosureGenerator中实现对nullable、union和intersection类型的返回值检查
- 为闭包参数添加运行时类型验证和错误提示
- 扩展CPP_RESERVED_NAMES数组,添加更多C++保留关键字
- 在FunctionContext中增加闭包返回类型检查相关属性
- 实现闭包参数和返回值的类型检查生成器方法
- 修复变量名转义逻辑,确保与PHPX关键字冲突的变量名被正确处理
|
2 months ago |
韩天峰
|
90f9da0368
|
feat(php): 为闭包生成器添加参数验证和可变参数支持
- 实现了必需参数数量计算和参数计数验证逻辑
- 添加了参数不足时抛出异常的功能
- 支持可变参数的循环获取和数组构建
- 实现了参数默认值的条件解析处理
- 集成了参数类型检查和引用参数错误处理
|
2 months ago |
韩天峰
|
ac0d7f6151
|
feat(php): 添加必需参数计数检查功能
- 在生成包装函数参数时添加必需参数数量验证
- 实现参数不足时抛出 ArgumentCountError 异常
- 为可空参数移除默认 null 值传递逻辑
- 添加测试用例验证可空参数无默认值时仍需传入
- 生成详细的错误消息包含函数名和期望参数数量
|
2 months ago |
韩天峰
|
0c9a449536
|
test(array): 添加数组函数测试用例
|
2 months ago |
韩天峰
|
8231208eaf
|
fix(php): 修复继承访问控制和扩展清理逻辑
- 修改 canAccessProtectedProperty 替代 isInheritedFrom 处理保护属性访问
- 更新扩展模式下的映射表清理逻辑,使用 C++ 样式初始化替代 PHP 数组赋值
- 修复继承检查中私有成员重声明的处理,跳过私有父类属性/常量的兼容性检查
- 优化可见性检查逻辑,支持可见性放宽但阻止私有成员重声明
- 添加对父类可访问子类保护方法和常量的支持测试
- 新增属性和常量可见性放宽及私有成员重声明的测试用例
- 添加扩展清理映射表的运行时测试验证
|
2 months ago |
韩天峰
|
252b112405
|
feat(php): 实现继承中方法重写的类型兼容性检查
- 添加对final方法重写错误的检测和报告
- 实现返回类型的协变性检查,允许子类返回更具体的类型
- 实现参数类型的逆变性检查,允许子类参数接受更通用的类型
- 添加从无返回类型到有返回类型的合法转换支持
- 增强方法重写签名验证逻辑以支持PHP类型系统规则
- 添加新的测试用例覆盖各种继承错误场景
|
2 months ago |
韩天峰
|
09be0226cb
|
feat(trait): 支持trait方法多别名和insteadof语法
- 实现trait方法可以有多个别名的功能
- 支持insteadof语法在trait列表中的顺序无关性
- 保持trait别名的原始方法功能
- 添加对继承中静态方法不匹配的检查
- 更新trait别名数据结构以支持别名列表
- 重构trait方法包装器为独立函数
- 修复trait方法别名处理逻辑错误
|
2 months ago |
韩天峰
|
72b80276ba
|
fix(php): 修复trait成员冲突检测逻辑
- 修复trait常量冲突检查,只在不兼容时抛出错误
- 修复trait属性冲突检查,只在不兼容时抛出错误
- 添加类型节点转字符串的辅助方法
- 实现兼容性检查方法验证trait常量和属性是否一致
- 更新测试用例验证trait成员兼容性和冲突场景
|
2 months ago |
韩天峰
|
42ee6e3aa6
|
feat(php): 支持接口常量继承功能
- 实现了类通过继承链查找接口常量的功能
- 添加了接口及其父接口常量的递归收集机制
- 在编译器中增加了对实现接口的类处理数组常量的支持
- 更新了常量访问检查逻辑以支持接口常量继承
- 添加了单元测试验证接口数组常量向实现类的传播
- 创建了AOT测试用例覆盖接口数组常量继承场景
- 重构了接口实现检查相关代码结构
|
2 months ago |
韩天峰
|
c4a8146661
|
refactor(php): 重构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 |
韩天峰
|
5bbb50b031
|
refactor(php): 优化路径前缀移除逻辑以支持路径段匹配
- 修改 PlatformBase.php 中的 removeCommonPrefix 方法
- 使用 rtrim 移除路径分隔符后缀
- 将路径拆分为段进行比较而非逐字符比较
- 使用 implode 重新组合剩余路径段
- 添加新测试用例验证路径段匹配功能
- 修复相邻目录按字符前缀截断的问题
|
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 |
韩天峰
|
409c0959f4
|
feat(type-check): 添加对联合类型和交集类型的自我父静态类型检查支持
- 实现 self 类型作为联合类型成员的功能测试
- 实现 parent 类型作为联合类型成员的功能测试
- 添加 self 类型不能作为交集类型成员的错误检查
- 添加 parent 类型不能作为交集类型成员的错误检查
- 添加 static 类型不能作为交集类型成员的错误检查
- 重构类型检查可调用名称生成逻辑以支持类方法上下文
- 修复函数命名空间名称获取在类方法中的问题
|
2 months ago |
韩天峰
|
a0c9591e81
|
feat(php): 添加对交集类型的支持
- 在 CompilerBase 中添加 IntersectionType 的引入和处理逻辑
- 更新 upgradeToFullyQualifiedName 方法以处理交集类型
- 修改复杂类型处理逻辑,将交集类型统一按 mixed/var 处理并在运行时进行 typeCheck
- 在 Preprocessor 中添加对交集类型的参数和返回值检查支持
- 扩展 TypeCheckGenerator 以支持交集类型的类型检查代码生成
- 添加交集类型参数和返回值的运行时检查测试用例
- 实现交集类型的字符串表示转换功能
- 添加 allOf 类型条件生成器以处理多个类型约束组合
|
2 months ago |
韩天峰
|
04610c5897
|
refactor(reflection): 重构返回类型提取逻辑以支持联合和交集类型
- 提取公共方法 extractNamedReturnType 处理返回类型
- 移除对 ReflectionUnionType 和 ReflectionIntersectionType 的直接检查
- 简化函数和方法返回类型的获取逻辑
- 添加对联合类型返回值的测试用例
- 添加对交集类型返回值的测试用例
- 统一返回类型处理方式提高代码可维护性
|
2 months ago |
韩天峰
|
a01548ae96
|
fix(php): 修复继承检查中的可见性宽化和参数匹配逻辑
- 实现了PHP允许的方法可见性宽化(如protected到public),但禁止窄化
- 添加了子类可以添加可选尾随参数的支持
- 修复了必需参数数量比较逻辑,确保子类不能要求比父类更多的必需参数
- 添加了对缺少父类声明参数的检查
- 实现了额外子类参数必须为可选或可变参数的验证
- 添加了可见性等级比较函数来正确处理继承可见性检查
|
2 months ago |
韩天峰
|
918a52d7fb
|
test(samples): 添加新测试用例和示例脚本
- 新增 tests/aot/class/new-and-call.phpt 测试文件,验证 new 和 call 操作
- 添加 samples/script.php 示例文件,演示 PHP_OS 函数使用
- 实现了类实例化后直接调用方法的测试场景
- 创建
|
2 months ago |
韩天峰
|
95e9b6fef4
|
feat(samples): 添加PHP示例代码文件
- 新增c1.php包含函数定义和调用示例
- 新增c2.php包含类静态方法和实例方法示例
- 新增c3.php包含require语句和系统函数调用示例
- 新增c4.php包含继承类方法重写和uname函数示例
|
2 months ago |
NathanFreeman
|
c8d8d1c9ba
|
修复 while do...while和if中的判断是赋值导致的C++编译警告的问题
|
2 months ago |
韩天峰
|
7eeb416f6a
|
refactor(php): 优化编译器方法调用逻辑
- 简化方法指针获取条件判断
- 使用内部类检查替代抽象方法和重写方法检查
- 移除不必要的方法标志位检测
- 重构动态调用测试用例
|
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 |
韩天峰
|
a7b5b248fb
|
refactor(optimizer): 重构SSA对象稳定性分析以支持动态方法调用优化
- 将对象稳定性分析从属性提升优化中分离为独立方法
- 添加analyzeStableObjects方法用于分析方法分派的对象稳定性
- 修改optimizeObjectProps方法只在启用原生类型时执行属性提升
- 提取collectStableObjectCandidates辅助方法收集稳定对象候选者
- 更新翻译器中的优化执行顺序和条件判断逻辑
- 添加两个新的动态调用测试用例验证重
|
2 months ago |
韩天峰
|
8148ffce1e
|
fix(aot): 修复动态调用中的方法重写处理问题
- 添加了对父类参数类型调用重写方法的测试用例
- 增加了方法重写检测逻辑,避免对重写方法进行去虚拟化
- 新增 getOverrideMethodName 方法统一获取重写方法名称
- 新增 isFinalClass 方法判断类是否为 final
- 修正了 canDevirtualize 方法中关于最终类的判断逻辑
- 统一使用 getOverrideMethodName 获取完整方法名
- 优化了 SSA 稳定对象
|
2 months ago |
韩天峰
|
979ea385ca
|
fix(runtime): 解决抽象方法调用导致的崩溃问题
- 添加了对抽象方法调用的检查和处理逻辑
- 在方法指针获取时过滤掉抽象方法避免错误调用
- 对对象调用抽象类或接口方法时返回 false 避免运行时错误
- 添加了 noProgress 属性用于控制进度显示
- 完善了方法标志位检查机制防止虚方法调用异常
|
2 months ago |
韩天峰
|
0360a51104
|
chore(deps): 更新 swoole/phpx 依赖版本
- 将 swoole/phpx 从 ~2.3.9 升级到 ~2.3.10
- 更新版本号从 1073 到 1074
|
2 months ago |
韩天峰
|
e694e90c16
|
feat(translator): 添加无进度条编译选项
- 新增 --no-progress 参数用于禁用进度条显示
- 实现按文件逐行输出编译进度功能
- 在串行编译模式下支持进度条禁用选项
- 在并行编译模式下支持进度条禁用选项
- 添加编译失败和异常情况下的索引计数
- 实现百分比和文件名的简短路径显示
|
2 months ago |
韩天峰
|
ebc6891a40
|
feat(php): 添加 Response File 临时文件清理功能
- 在 CompilerBackend 中添加 lastResponseFile 属性记录最近创建的响应文件路径
- 修改 createResponseFile 方法保存响应文件路径到实例属性
- 新增 cleanupResponseFile 方法用于删除临时响应文件
- 在 Translator 构建成功后调用 cleanupResponseFile 清理临时文件
|
2 months ago |
韩天峰
|
ec07242ce1
|
docs(architecture): 添加代码复用改进计划和封装审查文档
- 添加 code-reuse-improvement.md 包含四个阶段的重构计划
- 添加 encapsulation-review.md 分析实体类、函数上下文等封装问题
- 计划提取 UnixPlatform 和 GccLikeBackend 基类减少重复代码
- 提出 FunctionContext 属性分组和访问控制改进方案
- 规划 Trait 与 Context 解耦以提升代码质量
|
2 months ago |
韩天峰
|
f0f72f651d
|
feat(examples): 添加字符串连接示例并改进yield示例输出
- 新增 concat.php 示例文件展示字符串连接操作
- 修改 yield.php 示例中的输出方式为循环打印每个值
- 将 yield 示例的 var_dump 替换为更清晰的逐行输出格式
|
2 months ago |
韩天峰
|
e16f103cc7
|
chore(deps): 更新项目依赖包到最新版本
- 更新 league/climate 从 3.10.1 到 3.11.0
- 更新 symfony/polyfill-ctype 从 v1.36.0 到 v1.37.0
- 更新 symfony/polyfill-mbstring 从 v1.36.0 到 v1.38.2
- 更新 symfony/var-dumper 从 v8.0.8 到 v8.1.0
- 更新 symfony/yaml 从 v8.0.8 到 v8.1.0
- 更新 composer/pcre 从 3.3.2 到 3.4.0
- 更新 ergebnis/agent-detector 从 1.1.1 到 1.2.0
- 更新 friendsofphp/php-cs-fixer 从 v3.95.1 到 v3.95.11
- 更新 symfony/console 从 v8.0.8 到 v8.1.0
- 更新 symfony/deprecation-contracts 从 v3.6.0 到 v3.7.0
- 更新 symfony/event-dispatcher 从 v8.0.8 到 v8.1.0
- 更新 symfony/event-dispatcher-contracts 从 v3.6.0 到 v3.7.0
- 更新 symfony/filesystem 从 v8.0.8 到 v8.1.0
- 更新 symfony/finder 从 v8.0.8 到 v8.1.0
- 更新 symfony/options-resolver 从 v8.0.8 到 v8.1.0
- 更新 symfony/polyfill-intl-grapheme 从 v1.36.0 到 v1.38.1
- 更新 symfony/polyfill-intl-normalizer 从 v1.36.0 到 v1.38.0
|
2 months ago |
韩天峰
|
15bcacacc0
|
fix(php): 修复引用参数传递中的静态属性处理问题
- 在引用参数解析中添加临时变量处理以支持引用类型参数
- 为静态属性获取器添加 toReference() 方法调用支持
- 添加新的测试用例验证静态属性引用操作的正确性
- 优化编译器对 nativeProperty 属性的引用值处理逻辑
|
2 months ago |
韩天峰
|
991e4bc931
|
refactor(backend): 将命令构建方法从修改字符串改为返回标志字符串
- 将 Clang 和 GccLikeBackend 中的 addPICFlag 方法重构为 getPICFlag
- 将 addPlatformLinkFlags 方法重构为 getPlatformLinkFlags
- 将 addPlatformFullLinkFlags 方法重构为 getPlatformFullLinkFlags
- 修改调用方式从传引用改为直接拼接返回的标志字符串
- 统一 Windows 平台的特殊处理逻辑
- 保持原有功能不变但改进代码结构
|
2 months ago |
韩天峰
|
73e4754a49
|
feat(backend): 实现响应文件机制解决命令行长度限制
- 添加 createResponseFile 方法将目标文件列表写入 .rsp 文件
- 在 MSVC、GCC/Clang 编译器后端中使用 @rsp 参数替代长命令行
- 修复单元测试以验证响应文件参数生成
- 支持路径含空格时的双引号包裹处理
- 兼容 Windows 8191 字符命令行长度限制
|
2 months ago |