$invalidTokens =
$this->
checkInvalidTokensAfterAT();
if ($invalidTokens->
isInvalid()) { return $invalidTokens;
} $missingDomain =
$this->
checkEmptyDomain();
if ($missingDomain->
isInvalid()) { return $missingDomain;
} if ($this->lexer->current->
isA(EmailLexer::S_OPENPARENTHESIS
)) { $this->warnings
[DeprecatedComment::CODE
] =
new DeprecatedComment();
} return new ValidEmail();
} private function checkEmptyDomain(): Result
{ $thereIsNoDomain =
$this->lexer->current->
isA(EmailLexer::S_EMPTY
) || ($this->lexer->current->
isA(EmailLexer::S_SP
) &&
!
$this->lexer->
isNextToken(EmailLexer::GENERIC
));
if ($thereIsNoDomain) {