diff --git a/EmailValidator/EmailParser.php b/EmailValidator/EmailParser.php index 8520d9f..c0484cf 100644 --- a/EmailValidator/EmailParser.php +++ b/EmailValidator/EmailParser.php @@ -59,7 +59,7 @@ class EmailParser /** * @param string $str - * @return array + * @return Result */ public function parse($str) : Result { diff --git a/EmailValidator/Parser/LocalPart.php b/EmailValidator/Parser/LocalPart.php index 6b8b71e..8c30557 100644 --- a/EmailValidator/Parser/LocalPart.php +++ b/EmailValidator/Parser/LocalPart.php @@ -5,12 +5,11 @@ namespace Egulias\EmailValidator\Parser; use Egulias\EmailValidator\EmailLexer; use Egulias\EmailValidator\Result\Result; use Egulias\EmailValidator\Result\ValidEmail; -use Egulias\EmailValidator\Exception\DotAtEnd; use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Warning\LocalTooLong; use Egulias\EmailValidator\Exception\ExpectingATEXT; +use Egulias\EmailValidator\Result\Reason\DotAtEnd; use Egulias\EmailValidator\Result\Reason\DotAtStart; -use Egulias\EmailValidator\Result\Reason\UnOpenedComment; class LocalPart extends Parser { @@ -51,7 +50,7 @@ class LocalPart extends Parser if ($this->lexer->token['type'] === EmailLexer::S_DOT && $this->lexer->isNextToken(EmailLexer::S_AT) ) { - throw new DotAtEnd(); + return new InvalidEmail(new DotAtEnd(), $this->lexer->token['value']); } $this->warnEscaping(); diff --git a/EmailValidator/Parser/Parser.php b/EmailValidator/Parser/Parser.php index d087358..c07b9c5 100644 --- a/EmailValidator/Parser/Parser.php +++ b/EmailValidator/Parser/Parser.php @@ -181,7 +181,7 @@ abstract class Parser /** * @return bool */ - protected function warnEscaping() + protected function warnEscaping() : bool { if ($this->lexer->token['type'] !== EmailLexer::S_BACKSLASH) { return false; diff --git a/EmailValidator/Result/Reason/DotAtEnd.php b/EmailValidator/Result/Reason/DotAtEnd.php new file mode 100644 index 0000000..6dfe605 --- /dev/null +++ b/EmailValidator/Result/Reason/DotAtEnd.php @@ -0,0 +1,16 @@ +