- Added nativeBoolLiteral method to convert PHP boolean literals to C++ bool
- Updated parseCompareExpr to use native boolean literals for bool type
- Ensured strict comparisons between booleans use true/false instead of php::true_/php::false_
- Added test case for boolean literal identical comparisons
- Created compiler test to verify native boolean operand usage
- Added test file with boolean literal comparison examples
- Add isContinueExpr method to AstNodeType for continue statement detection
- Introduce inContinuableLoop context flag to track for/foreach/while/do-while loops
- Update CompilerBase to maintain continuable loop state during compilation
- Modify LoopControlTrait to validate continue statements only within continuable loops
- Enhance SwitchTrait to allow continue as valid case ending expression
- Add comprehensive tests for continue in switch nested in various loop types
- Create test cases for invalid continue usage outside loops
- Update version number from 1094 to 1095
- Add Contents.json for macOS icon asset catalog with multiple resolutions
- Configure project.yml to include Windows PE icon resource
- Include QIcon header and implement applicationIcon() function
- Set window icons for main application and tunnel windows
- Add qrc file to embed icon resources into the application
- Update README to document multi-DPI icon support across platforms
- 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
- Update ReturnInfo::equalsApartFromPhpDocAndRefcount to consider PHPDoc types
in arginfo equivalence checks to prevent incorrect Reflection type exposure
- Rename method from equalsApartFromPhpDocAndRefcount to equalsApartFromRefcount
for better clarity and consistency
- Modify Translator.php to use hasClass and hasInterface methods instead of
symbols->hasClass and symbols->hasInterface for proper dependency resolution
- Add comprehensive tests for class registration preserving reverse inheritance
- Add tests for magic methods with implicit return types maintaining distinct
Zend arginfo during registration
- Include tests for interface registration handling child-before-parent scenarios
- Add cross-namespace interface dependency resolution tests
- Create diamond inheritance pattern registration preservation tests
- Simplified concat assignment logic by checking for Concat instance directly instead of flattening
- Changed SelectionExpressionTrait to use parseExprAsValue for ternary branches
- Added proper handling of void branch conversion to null in ternary expressions
- Added tests for concat assignment to inherited properties
- Added tests for ternary expressions with void branches and side effects
- Introduce EXTENSION_PREFIX constant in Constants class
- Add isTypePhpExtension method to Reflection class for proper extension identification
- Update getModuleName to use standardized extension prefix
- Modify internal class and interface detection to exclude TypePHP extension symbols
- Refactor internal functions loading to filter out TypePHP extension functions
- Remove deprecated ignoreExtensions property and related regex parsing logic
- Update version from 0.4.1 to 0.4.2
- Add test case to verify zend module always uses typephp prefix
- Updated swoole/phpx from ~2.4.0 to ~2.4.1 in composer.json
- Maintained compatibility with existing project requirements
- Ensured dependency version alignment with current standards