Skip to content

Commit b5e3c60

Browse files
committed
Fetch functions parameters
1 parent 017ad67 commit b5e3c60

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

src/Renderer/HtmlRenderer.php

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)