Skip to content

Tags: Giandonn/typephp

Tags

v0.6.6

Toggle v0.6.6's commit message
Reclassify phpt test files

v0.6.5

Toggle v0.6.5's commit message
chore(version): bump version from 0.6.3 to 0.6.5

- Updated file-version in project.yml from 0.6.3.1112 to 0.6.5.1112
- Updated product-version in project.yml from 0.6.3 to 0.6.5
- Updated VERSION constant in Translator.php from 0.6.1 to 0.6.5

v0.6.2

Toggle v0.6.2's commit message
test(compiler): update test configuration and execution setup

- Add empty ini directory placeholders for test isolation
- Set PHP_INI_SCAN_DIR environment in include_require and python tests
- Replace no-leak.ini with descriptive comment for dedicated configuration
- Modify ref-call-arg.phpt to use temporary files instead of fixed paths
- Add ZipArchive operations in ref-call-arg.phpt for proper test data generation
- Update expected output values in ref-call-arg.phpt test results
- Add display_startup_errors=1 to php ini-values in workflow configuration
- Enable opcache.jit=0 setting in workflow configuration for consistency
- Increase

v0.6.1

Toggle v0.6.1's commit message
fix(parser): handle PHP array overflow in compound assignments and im…

…prove method name parsing

- Change temporary variable type to Variant for PHP arrays to prevent undefined C++ behavior
- Add methodNameToStr helper that treats 'self' and 'static' as ordinary member names
- Replace identifierToStr with methodNameToStr for method calls to respect lexical rules
- Update nullsafe access trait to use proper method name parsing
- Add test case for array element compound arithmetic overflow handling
- Add test case for nullsafe chain preserving typed method returns

v0.4.1

Toggle v0.4.1's commit message
fix(closure): handle static variables in closure use references

- Added check for staticVars when processing closure use references
- Prevented redeclaration of static variables as local variables in closures
- Updated variable resolution logic to include static variable scope
- Added comprehensive test case for static variable closure reference behavior
- Fixed variable name collision in preprocessor class constant handling
- Updated version number to 0.4.1

v0.4.0

Toggle v0.4.0's commit message
fix(runtime): correct property inheritance handling in object creation

- Fixed zend_update_property call to use correct class entry variable
- Refactored object creation logic to delegate to parent allocator when needed
- Added parentHasCustomCreateObjectOnPhp84 method to detect parent class properties
- Simplified create object handler implementation using typephp_create_object_with_defaults
- Updated property initialization to work properly with asymmetric visibility
- Modified test case to include options property verification in inheritance scenario

v0.1.0

Toggle v0.1.0's commit message
fix(traits): 解决trait中方法参数类型解析问题

- 添加trait注入class时使用完整类名的处理逻辑
- 重构参数类型解析逻辑,统一使用parseTypeDecl方法
- 修复void/never类型作为参数类型的错误检查
- 简化类型判断和类名获取流程
- 添加测试用例验证trait方法冲突处理

v0.0.7

Toggle v0.0.7's commit message
fix(php): 修复trait适配器中的修饰符处理逻辑

- 修正了当newModifier为null时的默认值设置
- 避免了对null值调用toString方法导致的错误
- 确保了trait方法适配的正确性

v0.0.6

Toggle v0.0.6's commit message
feat(trait): 实现 trait 使用适配器功能支持别名和冲突解决

- 添加 traitAliases 和 traitIgnored 属性到 ClassDef 存储适配器配置
- 实现 trait 方法别名映射功能 (as)
- 实现 trait 方法冲突解决机制 (insteadof)
- 在预处理器中解析 trait use 语句的适配器选项
- 在翻译器中应用 trait 别名和忽略规则
- 添加完整的 trait 冲突测试用例验证功能正确性

v0.0.5

Toggle v0.0.5's commit message
feat(aot): 添加对引用赋值和列表赋值的支持

- 实现了引用赋值功能,支持变量间的引用传递
- 添加了列表赋值解析逻辑,支持数组解构赋值操作
- 新增 isAssignExpr 方法用于判断赋值表达式类型
- 重构了赋值相关的编译逻辑,提高代码可读性
- 添加了多个测试用例验证引用和列表赋值功能
- 修复了动态调用中的参数展开问题