- 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 appendCapturedStmtLines helper with direct formatCapturedStmtLines calls
- Change createPropertyAccessResolver from private to protected for extensibility
- Change resolveNativeInstanceProperty from private to protected for extensibility
- Change resolveNativeStaticProperty from private to protected for extensibility
- Change applyNativePropertyAccessResult from private to protected for extensibility
- Change containsNullsafeChain from private to protected for extensibility
- Replace parseTypeDecl output parameter with resolveTypeDecl returning array
- Change sortFiles to getSortedFiles returning sorted array instead of modifying input
- Update name resolution to handle imported namespace prefixes correctly
- Enhance property hook backing access detection with additional conditions
- Add redis extension availability check to test skip conditions
- Document compiler self-hosting constraints regarding reference parameters across traits
- 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
- Extracted class constant fetch logic from CompilerBase to ClassConstantFetchTrait
- Moved nullsafe property and method access implementation to NullsafeAccessTrait
- Added ClosureGenerator methods for arrow functions and closures
- Introduced isReturnStmtInLastLine helper method for closure generation
- Updated CompilerBase to use trait composition instead of inline methods
- Added NodeFinder import for arrow function variable detection