- Updated resolveAnonClassTypeNames to resolveAnonClassNames with improved name resolution
- Added proper handling of imported names in anonymous class method bodies
- Ensured fully qualified names are embedded when anonymous classes are evaluated
- Added test case for anonymous class method bodies preserving namespace imports
- Fixed function call trait to check global name instead of local name for unsupported functions
- Added tests for destructor exception handling boundaries
- Improved include error handling and shutdown exception handler behavior
- Added unsupported function detection for extract function with proper error messages
- Updated swoole/phpx dependency from ~2.5.3 to ~2.5.5
- Add requiresDynamicScope parameter to genRuntimeObjectMethodCall
- Implement markRuntimeObjectMethodCall to track methods needing dynamic scope
- Add markInternalFunctionCallbackCall to handle PHP internal functions with callbacks
- Create callback argument mapping for functions like array_map, usort, etc.
- Add isScopeIndependentCallableExpr to identify closures and callables
- Implement internalMethodMayInvokeCallback for reflection method tracking
- Update method call traits to use dynamic scope marking logic
- Add test case for reflection invocation preserving method visibility scope
- Modify Translator to generate scope switch code for dynamic calls
- Replace all module property access from module::$property to module\property
- Replace all module function calls from module::function() to module\function()
- Update documentation to reflect new namespace constant syntax for module members
- Modify parser to recognize python module attributes using constant expression trait
- Remove special handling of python use statements in declaration symbol resolver
- Add support for fully qualified python module access without use declarations
- Implement proper namespace resolution for python modules in global and local scopes
- Update tests to verify new module access patterns work correctly
- Remove resetPythonModuleAliases call from compiler base initialization
- Rename parsePythonBuiltinCall to parsePythonFunctionCall for clarity
- Add comprehensive test coverage for imported symbols and fully qualified access
- Mark obsolete module static call and property access patterns as errors
- Update WASI target detection to support wasm32-wasip2 and wasm32-unknown-wasip2 only
- Add jco tool integration with version requirement and environment variables
- Implement comprehensive function validation for WASI unsupported functions
- Add WASI_UNSUPPORTED_FUNCTIONS list including exec, socket, pcntl, and posix functions
- Replace wasm-ld with wasm-component-ld for WASI Preview 2 compatibility
- Remove support for deprecated WASI Preview 1 targets with proper error messaging
- Update toolchain detection to use wasip2-specific compiler tools
- Add function prefix validation for pcntl_, posix_, and socket_ function families
- Enhance version detection regex pattern for more reliable tool version parsing
- Update test suite to validate new WASI Preview 2 target and tooling requirements
- Implemented expected() and unexpected() compile-time functions for branch prediction hints
- Added C++ macro generation for EXPECTED(...) and UNEXPECTED(...) in compiled output
- Updated documentation to include new branch prediction functions
- Added comprehensive tests for branch prediction macro generation
- Modified compiler base to handle expected/unexpected function type detection
- Added parser support for branch prediction function calls with proper argument validation
- Included polyfill implementations for expected and unexpected functions
- Updated version number from 1086 to 1087
- 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
- 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
- Implement parseNativeCallArgs method for native function argument parsing
- Add buildNativeVariadicArg method for variadic argument handling
- Create parseNamedCallArgs method for named argument processing
- Add isReferenceArgument method for checking reference parameters
- Implement AOT call argument info retrieval methods
- Add method resolution for AOT class and interface methods
- Include argument info by index lookup functionality
- Add reference named argument checking capability
- Implement comprehensive parseCallArgs method for general argument parsing
- Add scoped callback argument parsing for static/self/parent scopes
- Create utility methods for ensuring call args, array args and named args
- Add positional call argument handling with