Server IP : 172.67.157.199 / Your IP : 18.119.167.191 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/mu-plugins/vendor/godaddy/mwc-core/vendor/sentry/sentry/src/ |
Upload File : |
<?php declare(strict_types=1); namespace Sentry; /** * This class contains all the information about an error stacktrace. * * @author Stefano Arlandini <[email protected]> */ final class Stacktrace { /** * @var Frame[] The frames that compose the stacktrace */ private $frames = []; /** * Constructor. * * @param Frame[] $frames A non-empty list of stack frames. The list must be * ordered from caller to callee. The last frame is the * one creating the exception */ public function __construct(array $frames) { if (empty($frames)) { throw new \InvalidArgumentException('Expected a non empty list of frames.'); } foreach ($frames as $frame) { if (!$frame instanceof Frame) { throw new \UnexpectedValueException(sprintf('Expected an instance of the "%s" class. Got: "%s".', Frame::class, get_debug_type($frame))); } } $this->frames = $frames; } /** * Gets the stacktrace frames. * * @return Frame[] */ public function getFrames(): array { return $this->frames; } /** * Gets the frame at the given index. * * @param int $index The index from which the frame should be get * * @throws \OutOfBoundsException */ public function getFrame(int $index): Frame { if ($index < 0 || $index >= \count($this->frames)) { throw new \OutOfBoundsException(); } return $this->frames[$index]; } /** * Adds a new frame to the stacktrace. * * @param Frame $frame The frame */ public function addFrame(Frame $frame): self { array_unshift($this->frames, $frame); return $this; } /** * Removes the frame at the given index from the stacktrace. * * @param int $index The index of the frame * * @throws \OutOfBoundsException If the index is out of range */ public function removeFrame(int $index): self { if (!isset($this->frames[$index])) { throw new \OutOfBoundsException(sprintf('Cannot remove the frame at index %d.', $index)); } if (\count($this->frames) === 1) { throw new \RuntimeException('Cannot remove all frames from the stacktrace.'); } array_splice($this->frames, $index, 1); return $this; } }