diff --git a/src/Result/InvalidEmail.php b/src/Result/InvalidEmail.php index 0eff40c..3d85e15 100644 --- a/src/Result/InvalidEmail.php +++ b/src/Result/InvalidEmail.php @@ -10,7 +10,7 @@ class InvalidEmail implements Result /** * @var Reason */ - private $reason; + protected $reason; public function __construct(Reason $reason, string $token) { diff --git a/src/Result/MultipleErrors.php b/src/Result/MultipleErrors.php index 2aec941..48021ab 100644 --- a/src/Result/MultipleErrors.php +++ b/src/Result/MultipleErrors.php @@ -5,6 +5,9 @@ namespace Egulias\EmailValidator\Result; use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Result\Reason\Reason; +/** + * @psalm-suppress PropertyNotSetInConstructor + */ class MultipleErrors extends InvalidEmail { /** @@ -33,4 +36,19 @@ class MultipleErrors extends InvalidEmail { return $this->reasons[0]; } + + public function description() : string + { + $description = ''; + foreach($this->reasons as $reason) { + $description .= $reason->description() . PHP_EOL; + } + + return $description; + } + + public function code() : int + { + return 0; + } } diff --git a/src/Validation/MultipleValidationWithAnd.php b/src/Validation/MultipleValidationWithAnd.php index 74e0b63..a0483df 100644 --- a/src/Validation/MultipleValidationWithAnd.php +++ b/src/Validation/MultipleValidationWithAnd.php @@ -89,6 +89,7 @@ class MultipleValidationWithAnd implements EmailValidation { if (null !== $validation->getError()) { $this->initErrorStorage(); + /** @psalm-suppress PossiblyNullReference */ $this->error->addReason($validation->getError()->reason()); } } diff --git a/src/Validation/RFCValidation.php b/src/Validation/RFCValidation.php index 7519cb1..89af864 100644 --- a/src/Validation/RFCValidation.php +++ b/src/Validation/RFCValidation.php @@ -20,7 +20,7 @@ class RFCValidation implements EmailValidation private $warnings = []; /** - * @var InvalidEmail + * @var ?InvalidEmail */ private $error; @@ -31,6 +31,7 @@ class RFCValidation implements EmailValidation $result = $this->parser->parse((string)$email); $this->warnings = $this->parser->getWarnings(); if ($result->isInvalid()) { + /** @psalm-suppress PropertyTypeCoercion */ $this->error = $result; return false; }