Improvements to code

This commit is contained in:
Jaapio
2020-01-12 13:19:45 +01:00
parent 1b78639b8b
commit bb629f6469
4 changed files with 59 additions and 12 deletions
+1 -1
View File
@@ -229,7 +229,7 @@ final class StandardTagFactory implements TagFactory
$callable = [$handlerClassName, 'create'];
return call_user_func_array($callable, $arguments);
} catch (InvalidArgumentException $e) {
return InvalidTag::create($body, $name, $e);
return InvalidTag::create($body, $name)->withError($e);
}
}
+16 -10
View File
@@ -6,7 +6,6 @@ namespace phpDocumentor\Reflection\DocBlock\Tags;
use phpDocumentor\Reflection\DocBlock\Tag;
use Throwable;
use Webmozart\Assert\Assert;
/**
* This class represents an exception during the tag creation
@@ -26,17 +25,16 @@ final class InvalidTag implements Tag
/** @var string */
private $body;
/** @var Throwable */
/** @var Throwable|null */
private $throwable;
private function __construct(string $name, string $body, Throwable $throwable)
private function __construct(string $name, string $body)
{
$this->name = $name;
$this->body = $body;
$this->throwable = $throwable;
$this->name = $name;
$this->body = $body;
}
public function getException() : Throwable
public function getException() : ?Throwable
{
return $this->throwable;
}
@@ -47,13 +45,21 @@ final class InvalidTag implements Tag
}
/**
* @return self
*
* @inheritDoc
*/
public static function create(string $body, string $name = '', ?Throwable $exception = null)
public static function create(string $body, string $name = '')
{
Assert::notNull($exception);
return new self($name, $body);
}
return new self($name, $body, $exception);
public function withError(Throwable $exception) : self
{
$tag = new self($this->name, $this->body);
$tag->throwable = $exception;
return $tag;
}
public function render(?Formatter $formatter = null) : string