- Add support for 'lib' build mode that creates shared libraries with correct extensions
- Implement automatic 'lib' prefix for library targets on Unix systems unless explicit output is set
- Add build mode aliases normalization ('library', 'extension', 'cli' map to standard modes)
- Update target filename generation to handle explicit output paths with custom extensions
- Add platform-specific target extensions: .so for Linux, .dylib for macOS, .dll for Windows
- Include smoke test for validating library compilation and linking
- Update documentation with library build instructions and usage examples
- Add linker flag -Wl,-z,defs for Linux library builds to ensure self-contained libraries
- Modify command line help to document new build modes and clarify existing options
- Add C API header generation for exported
- Introduce NativePropertyAssignOpClassConstBox class with flags property
- Implement clearPublic method using bitwise AND assignment operator
- Add native_property_assign_op_class_const function for testing
- Demonstrate bitwise operation with ReflectionClassConstant::IS_PUBLIC
- Support integer type declaration for flags property
- Enable
- Updated CompilerBase.php to use convertIntExpr for bitwise not operations on variables
- Modified gen_stub.php to always use var_export for default value conversion
- Enhanced object_property test to follow strict type checking with TypeError handling
- Added native property test for bitwise not class constant assignments
- Updated Translator.php to return raw values instead of CValue wrappers for constants
- Improved documentation consistency across project overview files
- Added strict types declaration to property assignment test cases
- 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
- Implement proper type checking for native scalar property assignments from variables
- Add exact type conversion helpers for int, float, and bool property types
- Enforce compile-time validation of static type mismatches in property assignments
- Introduce PHP-style error messages for property type assignment failures
- Optimize property fetch operations with zval macro support in loops
- Refine compound assignment operations to validate variable types before native writes
- Update attribute handling in node parsing to preserve original values correctly
- Enhance property assignment type resolution with comprehensive scalar type mapping
- Implemented isCommandExecutable method to check if compiler commands are executable
- Added getCommandProgram method to extract program name from quoted/argumented commands
- Created isPathLikeCommand helper for path-based command detection
- Added compiler toolchain validation in Translator prepare phase
- Implemented proper PATH environment lookup with extension handling on Windows
- Added comprehensive unit tests for command parsing and executability checks
- Enhanced error reporting when compiler/linker executables are not found
- Moved file collection before compiler validation in translation process
- Implement dynamic native property write detection logic
- Add shouldUseDynamicNativePropertyWrite method for type checking
- Support native property assignment with type conversion
- Handle compound assignment operations for native properties
- Add canUseNativePropertyAssignOp validation method
- Create comprehensive documentation for compile-time functions
- Add test cases for native int property assignments
- Include unit tests for native property assignment operations
- Update incompatible PHP features documentation
- Add native property assignment to test suite
- Extract internal constants loading into dedicated loadInternalConstants method
- Filter out user-defined constants from internal constants array
- Maintain backward compatibility with non-grouped constants format
- Add proper handling of constant groups to prevent runtime state inclusion
- Improve static expansion behavior for compile-time vs runtime constants