韩天峰
d34baca7dc
fix(optimizer): parenthesize null-check expressions
4 weeks ago
韩天峰
e9f617eae0
feat(parser): implement runtime constant resolution with namespace fallback
...
- Remove static constant lookup logic from parseConstFetch method
- Add support for unqualified constants in namespaces with runtime fallback mechanism
- Implement UnqualifiedInNamespace constant lookup strategy for proper PHP behavior
- Update test cases to verify runtime constant resolution works correctly
- Add comprehensive test coverage for namespace constant fallback scenarios
- Remove isValidDefineName validation in favor of direct string checking
- Support define() calls with namespaced and non-identifier constant names
- Add proper error handling for undefined constants in namespaces
1 month ago
韩天峰
a0ece071cc
refactor(generator): replace self::TYPE_* constants with Type::* constants
...
- Replaced all occurrences of self::TYPE_* with Type::* in AnonClassGenerator.php
- Updated ArrayExpressionTrait.php to use Type::ARRAY and Type::VAR instead of self::TYPE_*
- Modified AssignOpTrait.php to reference Type constants instead of self::TYPE_*
- Changed BinaryOpTrait.php to use Type::BIGINT, Type::DECIMAL, Type::BIGFLOAT constants
- Updated CallArgumentGenerator.php to use Type::ARRAY and Type::REF constants
- Added Type import statements to all modified files
- Maintained same functionality while improving code consistency with Type namespace
2 months ago
韩天峰
3372e4c59c
refactor(core): restructure namespace and file organization
...
- Move Reflection class from TypePhp to TypePhp\Resolver namespace
- Rename ArgInfo.php to TypePhp\Entity\ArgInfo and update all references
- Move AstNodeType.php to TypePhp\Parser\AstNodeType with namespace update
- Update Symbol.php import paths to use TypePhp\Generator\Symbol
- Move Constants.php to TypePhp\Metadata\Constants with namespace change
- Rename FileScanner.php to TypePhp\Build\FileScanner with namespace update
- Move MagicMethodDetector.php to TypePhp\Resolver\MagicMethodDetector
- Rename PropertyHookLowering.php to TypePhp\Transform\PropertyHookLowering
- Move Visitor.php to TypePhp\Transform\Visitor with namespace update
- Update all test files to reflect new class
2 months ago
韩天峰
631a1ef6b2
refactor(docs): update file paths and directory structure references
...
- Change src/Php/Translator.php to src/Translator.php in documentation
- Update class hierarchy diagram to remove Php subdirectory references
- Modify composer.json autoloader to map TypePhp namespace to src directory only
- Adjust all src/Php/* paths to src/* in configuration and test files
- Update project.yml sources to include ./src instead of individual Php subdirectories
- Remove Php subdirectory from file paths in platform and analysis tests
- Clean up directory references in test results documentation
2 months ago
韩天峰
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
韩天峰
7047597299
chore(project): update project name from Swoole-Compiler to TypePHP
...
- Replace all occurrences of "Swoole-Compiler(AOT)" with "TypePHP" in file headers
- Update comment in ResourceFileGenerator to reflect new project name
- Change generated file comments from "Generated by Swoole Compiler" to "Generated by TypePHP"
- Update all PHP entity files to reference new project name
- Modify exception and generator classes to use TypePHP branding
- Update parser and resolver components with new project identification
2 months ago
韩天峰
4fc0acc47f
fix(optimizer): 修复含占位符参数的函数调用优化
...
在 FuncCallOptimizer 中遇到占位符表达式(如 First-class callable)时跳过优化,
避免参数遍历中的类型处理错误导致运行时异常。
2 months ago
韩天峰
54bca6942e
feat(parser): 添加对象属性赋值类型检查和二元运算操作数处理
...
- 实现对象属性赋值时的类型验证检查机制
- 添加静态属性赋值的类型安全保护
- 引入有序操作数解析以支持复杂表达式计算
- 增加对函数调用参数的类型安全检查
- 优化二元运算符操作数的类型转换处理
- 添加测试用例验证类型检查功能正确性
- 扩展属性定义实体以支持类型检查配置
- 实现操作数材料化以处理副作用表达式
2 months ago
韩天峰
0bfa2869c5
feat(compiler): 支持命名参数和提升属性功能
...
- 添加了对函数和构造函数中命名参数的支持
- 实现了提升属性(Property Promotion)功能
- 新增了对 C++ 保留关键字作为参数名的支持
- 完善了闭包类型检查和参数验证逻辑
- 增加了内部函数调用的命名参数验证
- 优化了参数类型检查和错误提示信息
- 添加了相关测试用例验证功能正确性
2 months ago
韩天峰
dc5c90044b
fix(php): 修复$GLOBALS变量处理问题
...
- 在CompilerBase.php中为$GLOBALS添加特殊处理逻辑,使用php_globals_array()创建独立副本
- 在FuncCallOptimizer.php中优化函数调用时对$GLOBALS的处理
- 移除Translator.php中$GLOBALS的全局变量初始化代码
- 避免直接操作$GLOABLS符号表的引用计数
- 确保$GLOBALS在各读取位置都通过安全方式访问
2 months ago
韩天峰
129fcce880
fix(php): 修复全局变量处理和代码格式化问题
...
- 将默认代码格式化功能从禁用改为启用
- 添加 GLOBALS 超全局变量到类型映射数组
- 在函数调用优化器中检查参数变量是否存在避免动态调用错误
- 为全局变量添加线程本地存储支持
- 实现 GLOBALS 超全局变量的特殊初始化逻辑
- 修复全局变量清理过程中的 GLOBALS 处理
2 months ago
韩天峰
1e6fb4972a
feat(php): 支持 compact 函数中的 'this' 变量
...
- 添加了对 compact('this') 的支持,允许在类方法中使用 this 变量
- 实现了 'this' 变量的特殊处理逻辑,避免未定义变量错误
- 添加了类上下文检查,防止在类外部使用 compact('this')
- 创建了新的测试文件来验证 compact('this') 在不同场景下的行为
- 更新了函数调用优化器以正确处理 'this' 变量的特殊情况
2 months ago
韩天峰
b8247d4cc7
test(array): 添加数组合并展开操作的测试用例
...
- 新增 array-merge-unpack.phpt 测试文件
- 实现 Dg 类用于测试数组合并展开功能
- 添加 f1 方法测试 array_merge(...array_map('array_values', $this->r))
- 添加 f2 方法测试双重 foreach 循环展开
- 实现 chk 方法验证两种方法的结果一致性
- 添加 main 函数执行测试用例
fix(optimizer): 修复函数调用优化器对命名参数和展开参数的处理
- 在 dispatchFuncCall 方法中添加参数检查逻辑
- 检测到命名参数或 unpack 展开参数时返回 false
- 避免静态优化路径处理需要运行时解析的参数
- 确保命名参数和展开语法正确回退到动态调用
2 months ago
韩天峰
db5de84468
fix(php): 修复可选参数中的null值处理问题
...
- 在函数调用优化器中添加对可空参数的支持
- 修改buildArgList方法以接收和处理nullables数组
- 当参数允许null值时直接传递原始变量而非解析值
- 更新函数反射信息以包含参数可空性信息
- 调整测试用例以反映explode函数中null限制的行为变化
- 移除显式传入null时使用默认值的特殊处理逻辑
2 months ago
韩天峰
f0c4b6bc98
fix(php): 解决可选参数传入null时使用C++默认值的问题
...
- 当可选参数显式传入null时跳过该参数,使C++默认值生效
- 添加对substr、strpos、stripos、strrpos、strstr、explode等函数的null参数处理
- 确保null参数行为与PHP原生函数一致
- 新增测试用例验证各种可选参数为null时的正确行为
2 months ago
韩天峰
df78e177f4
refactor(optimizer): 优化函数调用参数转换逻辑
...
- 提取参数转换逻辑到独立的 applyArgConversion 方法中
- 将数组类型参数转换改为 convertArrayExpr 方法
- 在 UniversalMethodCall 中实现 PHP 函数调用优化
- 添加 tryOptimizePhpFn 方法支持直接 C++ 调用
- 实现 mergeConstArgs 方法合并常量参数
- 保留动态 php::call 作为备选方案
2 months ago
韩天峰
ef6a9fb8e5
refactor(php): 统一PHP函数命名空间从std到fn
...
- 将所有php::std::前缀的函数调用更改为php::fn::前缀
- 替换AssignOpTrait.php中的pow函数调用路径
- 更新BinaryOpTrait.php中的mod和pow函数调用路径
- 修改CompilerBase.php中的头文件引用,合并为统一的phpx_std.h
- 在CompilerBase.php的throw语句中添加析构函数警告检查
- 更新FuncCallOptimizer.php中的各类数学和标准库函数调用路径
- 移除Translator.php中重复的标准库源文件引用
- 更新UniversalMethodCall.php中的parseStr函数调用路径
2 months ago
韩天峰
0c7464b4b3
refactor(php): 从函数调用优化器中移除 reset 和 end 函数
...
- 从 FuncCallOptimizer.php 中移除了 'reset' 和 'end' 函数
- 删除了相关的类型错误测试文件 reset_end_type_error.phpt
- 更新了优化器中的函数列表配置
3 months ago
韩天峰
9138dea99f
feat(php): 实现赋值表达式返回值和函数参数检查功能
...
- 在数组赋值操作中添加临时变量存储以支持返回值
- 为属性赋值操作实现逗号表达式确保右值先计算后赋值
- 添加内部函数参数数量验证机制防止运行时错误
- 优化三元运算符表达式确保类型一致性
- 扩展函数调用优化器以支持参数类型和数量检查
- 添加测试用例验证数组维度赋值返回功能
- 添加测试用例验证属性赋值返回功能
- 添加测试用例验证三元运算符类型转换功能
3 months ago
韩天峰
246689db4c
feat(compiler): 优化函数调用编译器实现支持可变参数类型转换
...
- 添加 array_merge 混合类型参数测试用例
- 在 CompilerBase 中为表达式添加括号包装确保正确解析
- 将 FuncCallOptimizer 中的所有私有方法和常量改为受保护访问级别
- 实现可变参数类型的类型感知转换功能
- 添加 variadicType 配置选项用于指定可变参数类型
- 扩展参数反射信息获取逻辑包含可变参数类型信息
- 更新生成可变参数调用方法支持类型转换
- 添加基础容器数组表达式转换辅助方法
- 修改返回赋值属性测试用例验证功能完整性
3 months ago
韩天峰
d26c76b9d8
feat(optimizer): 扩展函数调用优化器支持更多字符串和编码函数
...
- 添加 base64 编码解码函数优化支持 (base64_encode, base64_decode)
- 添加 URL 编码解码函数优化支持 (urlencode, urldecode, rawurlencode, rawurldecode)
- 扩展优化器对常用字符串处理函数的覆盖范围
3 months ago
韩天峰
abed2d8d22
test(stdlib): 添加标准库函数边缘情况和错误处理测试
...
- 添加 abs 函数边缘情况测试,包括 PHP_INT_MIN 和 -0.0
- 添加 array_fill 负数计数参数的 ValueError 测试
- 添加 base_convert 无效进制参数的 ValueError 测试
- 添加 bindec/hexdec/octdec 空输入和无效字符测试
- 添加 chr/ord 函数边界值测试
- 添加 count 函数非数组/对象参数的 TypeError 测试
- 添加 explode 空分隔符和限制参数测试
- 添加 intdiv 除零和溢出错误测试
- 添加 log 函数零、负数和无效底数测试
- 添加 reset/end 非数组参数的 TypeError 测试
- 添加 round 非数值参数的 TypeError 测试
- 添加 str_repeat 负数次数的 ValueError 测试
- 添加 strtotime 时间戳 0 和无效日期测试
- 添加 substr 负偏移和长度边界测试
- 添加 version_compare 操作符参数测试
- 移除未使用的 php_std_url.h 头文件和源文件引用
- 更新函数优化配置以改进数学函数和字符串函数支持
- 添加 is_callable 函数处理程序和 max/min 函数的原始实现
- 为 abs、pow、sqrt 函数添加大数类型回退实现
3 months ago
韩天峰
8450e69e1c
refactor(Php): 优化函数调用优化器中的参数类型常量
...
- 将简写的参数类型常量重命名为更具描述性的名称
- 为数组类型添加新的参数类型支持
- 更新所有相关的常量引用以使用新命名
- 实现标准容器数组表达式的转换功能
- 修复字符串键名处理中的缺少方法调用问题
3 months ago
韩天峰
e996dc8b43
feat(debug): 添加内存泄漏检测脚本
...
- 实现了随机数生成函数 gen_random
- 添加了堆排序算法实现 heapsort 和 heapsort_r
- 集成了高精度时间测量功能 gethrtime
- 创建了性能测试框架包括 start_test 和 end_test 函数
- 实现了测试结果显示和统计功能 total
- 添加了主函数 main 来执行完整的性能测试流程
3 months ago
韩天峰
de50cad4a8
refactor(optimizer): 将函数访问修饰符从私有更改为受保护
...
- 将 FuncCallOptimizer 中的 genFuncGetArgs 和 genFuncGetArg 方法从 public 改为 protected
- 将 SsaPropOptimizer 中的辅助方法从 private 改为 protected,包括 collectObjectAssignments、scanStmtForObjectAssign、resolveNewExprClass 等
- 将 SsaTypeOptimizer 中的常量和辅助方法从 private 改为 protected,包括 SAFE_INT_BINARY_OPS、SAFE_INT_ASSIGN_OPS 和各种检测方法
- 此更改允许子类继承和重用这些优化器中的实用方法
3 months ago
韩天峰
9beb5cbba2
fix(parser): 修复赋值操作符和递增递减操作符的上下文状态管理
...
- 在 parseAssignOp 方法中正确保存和恢复 inAssignExpr 上下文状态
- 在 parsePreInc 方法中正确保存和恢复 inAssignExpr 上下文状态
- 在 parsePostOp 方法中正确保存和恢复 inAssignExpr 上下文状态
- 在 parsePreDec 方法中正确保存和恢复 inAssignExpr 上下文状态
- 修复 FuncCallOptimizer 中对函数参数类型的检查逻辑,排除 VariadicPlaceholder 占位符情况
3 months ago
韩天峰
195013ae7c
perf(php): 优化PHP到C++转换性能
...
- 添加相同操作符编译时类型优化,对相同原始类型直接使用C++ ==
- 实现is_*函数编译时消除,当SSA缩小类型时直接返回true
- 添加count()函数字面量数组编译时计算
- 实现字符串字面量编译时操作优化,支持strtoupper、strtolower、trim等函数
3 months ago
韩天峰
b640fef73b
feat(compiler): 实现方法调用去虚化优化和BigFloat sqrt支持
...
- 添加classSubClasses属性用于存储反向类继承关系
- 扩展abs函数支持到BigFloat类型并添加sqrt函数实现
- 允许Big类型与原生类型之间的隐式转换
- 实现方法调用去虚化逻辑,支持final类、final方法、私有方法等情况
- 添加SSA稳定对象类型推断功能
- 修复SSABuilder中空参数值的处理
- 优化SSA类型分析中的非可缩小类型处理
- 添加多个
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
韩天峰
d377777571
feat(php): 优化 strlen 函数的编译时折叠
...
- 修改 CompilerBase.php 中的条件判断逻辑,确保代码生成正确返回
- 在 FuncCallOptimizer.php 中为 strlen 函数添加常量字符串优化
- 当传入参数为字符串字面量时直接计算长度并生成常量值
- 添加编译时 strlen 常量折叠的测试用例验证功能
3 months ago
韩天峰
3f9c76df5d
refactor(compiler): 替换 std::unsafe_cast 为对象方法调用并优化类型转换
...
- 将测试文件中的 std::unsafe_cast 调用替换为对应的 toStd* 方法
- 移除 std::unsafe_cast 函数实现,改为使用 $source->toStdMap 等方法
- 更新错误消息输出,移除函数名前缀
- 添加 TO_METHOD_TYPE_MAP 常量定义类型转换方法映射
- 修改变量赋值检查逻辑,支持新的 to* 转换方法
- 移除对 objval 函数的支持,统一使用 toObject 方法
- 新增 parseToStdAssign 方法处理标准容器转换分配
- 添加 genToObjectCall 和 genToConvertCall 代码生成方法
- 重构 UniversalMethodCall 类,移除重复的转换方法定义
- 优化类型检测逻辑,支持新的转换方法类型推断
3 months ago
韩天峰
c604fc09ab
feat(compiler): 添加对 Big* 类型的字符串转换和数学函数优化支持
...
- 在 echo 表达式中实现 BigInt、BigFloat 和 Decimal 类型的自动 toString 转换
- 为 abs、pow、sqrt、floor、ceil、round 数学函数添加 Big* 类型返回值推断
- 优化二进制连接操作中的类型转换逻辑,支持 Big* 类型到字符串的转换
- 为 (string) 强制转换、strval() 函数和 floor/ceil/round 函数添加 Big* 类型支持
- 新增测试用例验证 Big* 类型的数学函数优化功能
- 添加 Decimal 类型的精确计算和舍入处理示例
3 months ago
韩天峰
8865796b43
feat(php): 实现 compact 函数支持并增强函数重定义检查
...
- 添加 compact 函数的功能实现和语法优化
- 移除 UNSUPPORTED_FUNCTIONS 列表中的 compact 条目
- 在 Preprocessor 中添加防止重定义内置函数的检查
- 实现 genCompact 方法来处理 compact 函数调用
- 添加测试用例验证 compact 函数功能正确性
- 增强错误处理机制以捕获非法变量使用情况
4 months ago
韩天峰
fbb68ad689
feat(constants): add constant definition validation and test coverage
...
- Add isValidDefineName method to validate constant names according to PHP rules
- Implement validation check in define function call processing
- Add fatal error handling for invalid constant names
- Create comprehensive test case covering constant definition and usage scenarios
5 months ago
韩天峰
f6cb3278cb
refactor(Php): 优化 get_class 函数调用处理逻辑
...
- 将 get_class 函数的处理逻辑提取到独立的 genGetClass 方法中
- 保留原有的类型检查和字面量字符串生成功能
- 简化主方法中的条件判断结构
- 提高代码可读性和维护性
5 months ago
韩天峰
26a0439f42
feat(php): 优化函数调用并添加类存在性检查支持
...
- 实现 class_exists 函数的静态分析优化,直接返回已知类的存在性
- 添加 get_class 函数支持,为类型化对象生成字符指针
- 优化 function_exists 函数检查逻辑,提前处理原生函数
- 添加 get_class 测试用例验证功能
- 更新基准测试代码,添加 class_exists 性能测试
- 移除未使用的宏定义,优化常量定义方式
5 months ago
韩天峰
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
韩天峰
2050945532
feat(php): 添加警告功能并优化函数调用处理
...
- 在 CompilerBase 中添加 warning 方法用于显示警告信息
- 添加 warningUndefinedBehavior 方法处理潜在的行为不一致警告
- 在 FuncCallOptimizer 中对 func_get_args、func_get_arg 和 func_num_args 调用添加警告提示
- 确保动态执行行为的一致性检查
5 months ago
韩天峰
21b7de3905
feat(php): 添加对trait的支持和优化函数调用处理
...
- 在AstNodeType中添加isNull方法用于检查null值
- 更新CompilerBase中的参数默认值处理逻辑,支持引用参数的null默认值
- 将FuncCallOptimizer中的函数移动到合适位置并修复逻辑
- 重命名Preprocessor中的命名空间准备方法
- 在Translator中添加对trait语句的支持并抛出异常
- 添加对func_get_args和func_get_arg函数的优化实现
5 months ago
韩天峰
eb2eacc69a
feat(compiler): 添加对PHP内置函数func_get_arg和func_get_args的支持
...
- 在CompilerBase中添加isScalarInt方法用于判断表达式是否为标量整数
- 为parseScalar方法添加返回类型声明string
- 从常量列表中移除func_get_arg和func_get_args的不支持标记
- 在FuncCallOptimizer中实现func_get_arg、func_get_args和func_num_args的代码生成
- 添加详细的测试用例验证func_get_arg和func_get_args的功能
- 实现可变参数函数中对这些内置函数的正确处理
5 months ago
韩天峰
898cbe2553
feat(php): 支持 func_num_args 函数优化
...
- 从 UNSUPPORTED_FUNCTIONS 列表中移除 func_num_args
- 添加 func_num_args 函数的运行时测试用例
- 实现 func_num_args 函数调用优化逻辑
- 支持通过 argInfoList 计算函数参数数量
- 添加对可变参数函数的支持
5 months ago
韩天峰
c0e224e4db
refactor(php): 更新幂运算函数调用实现
...
- 将 php::call(php::pow) 替换为 php::math::pow 直接调用
- 修改赋值操作符中的幂运算表达式生成逻辑
- 优化临时变量创建方式,使用 addTmpVar 方法替代手动创建
- 在函数调用优化器中添加对 pow 函数的直接映射
- 添加 pow 函数相关的测试用例验证功能正确性
5 months ago
韩天峰
92bd1fe56c
refactor(php): 优化编译器基础类的类型声明和控制流逻辑
...
- 将stop方法的返回类型从void改为never
- 简化多个条件分支中的else语句和break语句
- 更新parseFunction方法参数类型并添加异常注解
- 修改parseIdentifier方法参数类型为NodeAbstract
- 添加对continue语句的循环上下文检查
- 移除未使用的NodeAbstract导入
- 为Skip异常类添加文件头注释
- 重构函数调用优化器中的条件逻辑
7 months ago
韩天峰
47e85c9de4
refactor(Php): 移除 strlen 等函数的特殊优化处理
...
- 从 FuncCallOptimizer 中移除了对 strlen、sizeof、count 函数的特殊转换逻辑
- 在 MagicMethodDetector 中为 __call 方法添加了参数类型验证
- 为 __toString、__serialize、__unserialize 等魔术方法添加了返回值和参数类型验证
- 为 __isset、__unset、__set_state、__debugInfo 等魔术方法添加了类型检查规则
- 添加了字符串类型参数验证以确保魔术方法符合 PHP 规范
- 添加了数组类型返回值验证以确保序列化相关方法正确实现
7 months ago
韩天峰
2963e0b4ad
refactor(Php): 优化函数调用解析器并重构测试代码
...
- 引入 getArg 函数简化参数解析逻辑
- 为 abs、ord、chr 和 array_key_exists 函数添加优化支持
- 激活 micro_bench.php 中被注释的性能测试用例
- 为 LeetCode 示例文件添加 main 函数结构
- 在单词接龙算法中改进条件判断的可读性
- 移除 PHP 标签并优化二叉树遍历的条件表达式
7 months ago
韩天峰
08635302b6
refactor(php): 优化函数调用优化器中的function_exists处理
...
- 移除CompilerBase.php中多余的空行
- 重构FuncCallOptimizer.php中的function_exists逻辑,支持字符串字面量的大小写转换和转义处理
- 在function_exists调用中添加严格模式参数支持
- 更新micro_bench.php中的代码格式和测试执行逻辑
- 激活之前被注释掉的性能测试用例
7 months ago
韩天峰
6dd8d2d6bc
refactor(Php): 优化字符串字面量处理和函数调用优化
...
- 提取字符串字面量处理逻辑到独立方法 getLiteralString
- 将 C++ 接口参数类型从 const char* 改为 const php::String&
- 修改字面量字符串数组类型从 php::Var 为 php::Str
- 添加 function_exists 函数调用的优化处理
- 更新头文件中的函数声明和内联函数参数类型
- 调整示例代码中的性能测试部分注释状态
7 months ago
韩天峰
2c90437a99
style(coding-standard): 移除严格类型声明并调整代码格式
...
- 将 .php-cs-fixer.dist.php 中的 declare_strict_types 设置为 false
- 从所有 PHP 类文件中移除 declare(strict_types=1) 声明
- 在 CompilerBase.php 中添加缺失的空行以改善代码可读性
- 恢复 Translator.php 中关于 noLiteralStrings 的原始配置逻辑
7 months ago
韩天峰
13a5849584
代码格式化,命名空间处理
7 months ago