@@ -256,22 +256,31 @@ public function renderCallStack(Throwable $t, array $trace = []): string
256256 [],
257257 );
258258
259+ $ index = 1 ;
260+ if ($ t instanceof ErrorException) {
261+ $ index = 0 ;
262+ }
263+
259264 $ length = count ($ trace );
260- for ($ i = 0 ; $ i < $ length ; ++ $ i ) {
261- $ file = !empty ($ trace [ $ i ][ 'file ' ]) ? $ trace [ $ i ] ['file ' ] : null ;
262- $ line = !empty ($ trace [ $ i ][ 'line ' ]) ? $ trace [ $ i ] ['line ' ] : null ;
263- $ class = !empty ($ trace [ $ i ][ 'class ' ]) ? $ trace [ $ i ] ['class ' ] : null ;
264- $ args = !empty ($ trace [ $ i ][ 'args ' ]) ? $ trace [ $ i ] ['args ' ] : [];
265+ foreach ($ trace as $ traceItem ) {
266+ $ file = !empty ($ traceItem [ 'file ' ]) ? $ traceItem ['file ' ] : null ;
267+ $ line = !empty ($ traceItem [ 'line ' ]) ? $ traceItem ['line ' ] : null ;
268+ $ class = !empty ($ traceItem [ 'class ' ]) ? $ traceItem ['class ' ] : null ;
269+ $ args = !empty ($ traceItem [ 'args ' ]) ? $ traceItem ['args ' ] : [];
265270
266271 $ parameters = [];
267272 $ function = null ;
268- if (!empty ($ trace [$ i ]['function ' ]) && $ trace [$ i ]['function ' ] !== 'unknown ' ) {
269- $ function = $ trace [$ i ]['function ' ];
270- if ($ class !== null && !str_contains ($ function , '{closure} ' )) {
271- $ parameters = (new \ReflectionMethod ($ class , $ function ))->getParameters ();
273+ if (!empty ($ traceItem ['function ' ]) && $ traceItem ['function ' ] !== 'unknown ' ) {
274+ $ function = $ traceItem ['function ' ];
275+ if (!str_contains ($ function , '{closure} ' )) {
276+ if ($ class !== null ) {
277+ $ parameters = (new \ReflectionMethod ($ class , $ function ))->getParameters ();
278+ } else {
279+ $ parameters = (new \ReflectionFunction ($ function ))->getParameters ();
280+ }
272281 }
273282 }
274- $ index = $ i + 2 ;
283+ $ index++ ;
275284
276285 if ($ this ->isVendorFile ($ file )) {
277286 $ vendor [$ index ] = $ this ->renderCallStackItem (
0 commit comments