- Add sourceFile and startLine properties to FunctionDef entity
- Track PHP source file and line number during preprocessing
- Generate proper file location context for AOT runtime exceptions
- Implement entry script prefixing with correct line numbers
- Update eval calls to include source file information
- Create test case for main file location reporting in exceptions
- Implement property hook lowering to getter/setter method calls
- Add support for private(set) and protected(set) asymmetric visibility
- Generate appropriate error handling for read-only hooked properties
- Support compound assignments and increment/decrement operations on hooked properties
- Add proper visibility checks for asymmetric property setters
- Update documentation to reflect new property hook capabilities
- Add comprehensive test coverage for property hook functionality
- Add proper exception rethrow mechanism using typephp_fiber_rethrow in compiler
- Implement comprehensive generator return type validation supporting UnionType, IntersectionType, and nullable types
- Add support for constructor property promotion in generator functions
- Enhance generator destructor handling with proper finally block execution
- Implement proper exception boundary crossing between Fiber and generator contexts
- Add comprehensive test coverage for generator lifecycle, yielding, and error scenarios
- Update documentation to reflect new supported return types including object and mixed
- Fix parameter validation and type checking integration within generator functions
- Add proper handling of yield from delegation with throw and return value preservation
- Implement automatic key tracking for generator yield operations
- Add validation for recursive IteratorAggregate cycles in yield from operations
- Implement FiberGenerator trait with yield/yield from parsing
- Add generator detection and preparation logic in function compilation
- Generate TypePHP\FiberGenerator objects that implement Iterator
- Support yield expressions and statements with key-value pairs
- Enable yield from delegation with array and traversable forwarding
- Register fiber generator class entry during module initialization
- Update runtime initialization to use typephp_runtime_init
- Replace php_aot_ prefixed helpers with typephp_ prefixed versions
- Add comprehensive generator test suite covering various scenarios
- Document generator limitations and compatibility restrictions
- Mark dynamic PHP foreach over native generators as XFAIL case
- Add isPromoted property to PropertyInfo class
- Include isPromoted flag in PropertyInfo constructor and initialization
- Set ZEND_ACC_PROMOTED flag for promoted properties in PHP 8.0+
- Update Preprocessor to track promoted status during property creation
- Add promoted flag to PropertyDef entity
- Remove xfails for promoted property tests since they now pass
- Handle promoted properties in constructor parameter processing
- Add returnsByRef property to FunctionDef entity
- Remove restriction on reference return types in Preprocessor
- Implement proper reference return handling in CompilerBase
- Add validation for reference assignment from function calls
- Update Translator to generate correct C++ code for reference returns
- Add compatibility checks for method override with reference returns
- Include test case for function returning by reference preserving aliases
- Add BUILD_MODE_LIB constant to CompilerBase class
- Implement isBuildModeLib and isBuildModeEmbed methods for library detection
- Update Clang backend to handle lib build mode with -fPIC flag and DLL linking
- Modify GccLikeBackend to support lib build mode with shared library flags
- Update MSVC backend to handle lib build mode with DLL compilation
- Extend PlatformBase to return correct extensions for lib builds
- Add proper handling for misc directory files during preprocessing
- Create new example project demonstrating library build functionality
- Update Translator to include main.cc for embed modes and add PHPX_NO_MAIN define for libraries
- Expand mode mapping to accept multiple library-related build mode aliases
- Increment version number from 1082 to 1084
- Update documentation to reflect new lib build option alongside bin and ext modes
- 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
- 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
- Rename project references from Swoole-Compiler to TypePHP in documentation
- Update command line usage from php bin/compiler.php to ./tpc
- Change application name constant from Swoole-Compiler (AOT) to TypePHP
- Update file descriptions and metadata in project.yml
- Modify Windows packaging script title to TypePHP
- Replace all copyright headers to reference TypePHP instead of Swoole-Compiler