1--TEST-- 2ReflectionClass::isSubclassOf() - fixed crash for unbound anonymous class 3--FILE-- 4<?php 5class X { 6 public static function main() { 7 return new class() extends Base {}; 8 } 9} 10class Base {} 11$check = function () { 12 $base = Base::class; 13 foreach (get_declared_classes() as $class) { 14 if (strpos($class, '@anonymous') === false) { 15 continue; 16 } 17 echo "Checking for $class\n"; 18 flush(); 19 $rc = new ReflectionClass($class); 20 var_export($rc->isSubclassOf($base)); 21 echo "\n"; 22 } 23}; 24// Should not show up in get_declared_classes until the anonymous class is bound. 25$check(); 26echo "After first check\n"; 27X::main(); 28$check(); 29echo "Done\n"; 30?> 31--EXPECTF-- 32After first check 33Checking for Base@%s 34true 35Done 36