This tracks all remaining work to achieve full parity with native PHP 8.3/8.4 reflection APIs.
Current state
hasHooks(), hasHook(), isVirtual() — implemented
isPrivateSet(), isProtectedSet(), isFinal(), isAbstract() — implemented
- Asymmetric visibility — partially implemented (missing
isPublicSet())
- Property hooks basic parsing — working via nikic/php-parser ^5.4
- Interface abstract properties — NOT supported (commented out in tests)
getHook(), getSettableType(), getRawSettableType() — NOT implemented
Sub-tasks
This tracks all remaining work to achieve full parity with native PHP 8.3/8.4 reflection APIs.
Current state
hasHooks(),hasHook(),isVirtual()— implementedisPrivateSet(),isProtectedSet(),isFinal(),isAbstract()— implementedisPublicSet())getHook(),getSettableType(),getRawSettableType()— NOT implementedSub-tasks
ReflectionProperty::getHook()(PHP-8.4)ReflectionProperty::getSettableType()/getRawSettableType()(PHP-8.4)ReflectionProperty::isPublicSet()(PHP-8.4)isVirtual()to parity test getters (PHP-8.4)isAbstract()for unimplemented abstract properties (PHP-8.4)#[\Override]test stubs and parity tests (PHP-8.3)