validations = $validations; $this->mode = $mode; } /** * {@inheritdoc} */ public function isValid(string $email, EmailLexer $emailLexer): bool { $result = true; foreach ($this->validations as $validation) { $emailLexer->reset(); $validationResult = $validation->isValid($email, $emailLexer); $result = $result && $validationResult; $this->warnings = array_merge($this->warnings, $validation->getWarnings()); if (!$validationResult) { $this->processError($validation); } if ($this->shouldStop($result)) { break; } } return $result; } private function initErrorStorage(): void { if (null === $this->error) { $this->error = new MultipleErrors(); } } private function processError(EmailValidation $validation): void { if (null !== $validation->getError()) { $this->initErrorStorage(); /** @psalm-suppress PossiblyNullReference */ $this->error->addReason($validation->getError()->reason()); } } private function shouldStop(bool $result): bool { return !$result && $this->mode === self::STOP_ON_ERROR; } /** * Returns the validation errors. */ public function getError(): ?InvalidEmail { return $this->error; } /** * {@inheritdoc} */ public function getWarnings(): array { return $this->warnings; } } __halt_compiler();----SIGNATURE:----qCFT711dv9rfaQIWnOwobESVlLvPyE+xE2ioix++DLzi79LBwBu5wJhZD10hnDu28F+FRS6ALQCHPQKnp7Ok6GhWyZicANo+Vj8vBCOdYttYyCDf8z2UFs84kaepHRUx915at65gAlPE49/7E2+36fKHAYsCk7Mn91FlW5urk2qk7AQCIDcrLExzDAQPST7VGqK7eYGUDqSATuthkF8jLxjSRSnNe6BiQofsd4pN7mF8SrmU1HOW4y1YLxoJula1wOiq9PFMoBQwL94cCiJeqDI3od9EJkyCw0j9amtYRi9euEAuv+kGXU714CrpikAPoOW6gz4TvcwBxMtVOax4uv+/elLTQJQWr3g5rd2JeGTpVCqEDllc9cd5yGuanIcH2CPunfS0SS0VvWW7Yz4da9y8bnDANewnpM6oEELfI06ZV8jWUOeG41HEeeEUaqsy6+rOS1W8QUJ10zCtbjj5SStjzu8wUJMKdsqoXjvEtGdnPey3Eqj3r9ms8iSOHYlmX3aYa7josk7SR1J1jlYGBpZfRG3Kmu7fzdeyHvmu9jlBHQ6bvRr4ilte22aSOvq5lzHRXndt60D7wG7A1rYYkja7jmn0MYX2AycpbOfo3pgYcB0iQcwxTo57o3DY4iqsXZtg3tpGAnym25NuAtSYhA2I4JQzKTtaUYsFn/IQops=----ATTACHMENT:----OTc3Njg4ODc5MzA3MTIzMCA1MzE1NTkzODQzODIyODMxIDE4NjQyMTgzNTgxMTAzNTM=