public function parse(): Result
{ if ($this->lexer->current->
isA(EmailLexer::S_OPENPARENTHESIS
)) { $this->openedParenthesis++;
if ($this->
noClosingParenthesis()) { return new InvalidEmail(new UnclosedComment(),
$this->lexer->current->value
);
} } if ($this->lexer->current->
isA(EmailLexer::S_CLOSEPARENTHESIS
)) { return new InvalidEmail(new UnOpenedComment(),
$this->lexer->current->value
);
} $this->warnings
[WarningComment::CODE
] =
new WarningComment();
$moreTokens = true;
while ($this->commentStrategy->
exitCondition($this->lexer,
$this->openedParenthesis
) &&
$moreTokens) { if ($this->lexer->
isNextToken(EmailLexer::S_OPENPARENTHESIS
)) { $this->openedParenthesis++;
} $this->
warnEscaping();