+++ /dev/null
-<?php
-
-/*
- * This file is part of the Behat Testwork.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Testwork\Call\Exception;
-
-use ErrorException;
-use ParseError;
-use Throwable;
-use TypeError;
-
-/**
- * Fatal Throwable Error.
- *
- * @author Nicolas Grekas <p@tchwork.com>
- */
-class FatalThrowableError extends ErrorException
-{
- public function __construct(Throwable $e)
- {
- if ($e instanceof ParseError) {
- $message = 'Parse error: '.$e->getMessage();
- $severity = E_PARSE;
- } elseif ($e instanceof TypeError) {
- $message = 'Type error: '.$e->getMessage();
- $severity = E_RECOVERABLE_ERROR;
- } else {
- $message = 'Fatal error: '.$e->getMessage();
- $severity = E_ERROR;
- }
-
- parent::__construct(
- $message,
- $e->getCode(),
- $severity,
- $e->getFile(),
- $e->getLine()
- );
-
- $this->setTrace($e->getTrace());
- }
-
- private function setTrace($trace)
- {
- $traceReflector = new \ReflectionProperty('Exception', 'trace');
- $traceReflector->setAccessible(true);
- $traceReflector->setValue($this, $trace);
- }
-}