@@ -73,8 +73,7 @@ public static function castThrowingCasterException(ThrowingCasterException $e, a
7373
7474 if (isset ($ a [$ xPrefix .'previous ' ], $ a [$ trace ]) && $ a [$ xPrefix .'previous ' ] instanceof \Exception) {
7575 $ b = (array ) $ a [$ xPrefix .'previous ' ];
76- $ class = \get_class ($ a [$ xPrefix .'previous ' ]);
77- $ class = 'c ' === $ class [0 ] && 0 === strpos ($ class , "class@anonymous \0" ) ? get_parent_class ($ class ).'@anonymous ' : $ class ;
76+ $ class = get_debug_type ($ a [$ xPrefix .'previous ' ]);
7877 self ::traceUnshift ($ b [$ xPrefix .'trace ' ], $ class , $ b [$ prefix .'file ' ], $ b [$ prefix .'line ' ]);
7978 $ a [$ trace ] = new TraceStub ($ b [$ xPrefix .'trace ' ], false , 0 , -\count ($ a [$ trace ]->value ));
8079 }
@@ -282,9 +281,9 @@ private static function filterExceptionArray(string $xClass, array $a, string $x
282281 }
283282 unset($ a [$ xPrefix .'string ' ], $ a [Caster::PREFIX_DYNAMIC .'xdebug_message ' ], $ a [Caster::PREFIX_DYNAMIC .'__destructorException ' ]);
284283
285- if (isset ($ a [Caster::PREFIX_PROTECTED .'message ' ]) && false !== strpos ($ a [Caster::PREFIX_PROTECTED .'message ' ], "class @anonymous \0" )) {
286- $ a [Caster::PREFIX_PROTECTED .'message ' ] = preg_replace_callback ('/class @anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/ ' , function ($ m ) {
287- return class_exists ($ m [0 ], false ) ? get_parent_class ($ m [0 ]).'@anonymous ' : $ m [0 ];
284+ if (isset ($ a [Caster::PREFIX_PROTECTED .'message ' ]) && false !== strpos ($ a [Caster::PREFIX_PROTECTED .'message ' ], "@anonymous \0" )) {
285+ $ a [Caster::PREFIX_PROTECTED .'message ' ] = preg_replace_callback ('/[a-zA-Z_\x7f-\xff][ \\\\ a-zA-Z0-9_\x7f-\xff]*+ @anonymous\x00.*?\.php(?:0x?|:[0-9]++\$)[0-9a-fA-F]++/ ' , function ($ m ) {
286+ return class_exists ($ m [0 ], false ) ? ( get_parent_class ($ m [0 ]) ?: key ( class_implements ( $ m [ 0 ])) ?: ' class ' ).'@anonymous ' : $ m [0 ];
288287 }, $ a [Caster::PREFIX_PROTECTED .'message ' ]);
289288 }
290289
0 commit comments