isNextToken(EmailLexer::S_DOT))){ // || !$internalLexer->moveNext()) { return false; } return true; } public function endOfLoopValidations(EmailLexer $lexer): Result { //test for end of string if (!$lexer->isNextToken(EmailLexer::S_DOT)) { return new InvalidEmail(new ExpectingATEXT('DOT not found near CLOSEPARENTHESIS'), $lexer->token['value']); } //add warning //Address is valid within the message but cannot be used unmodified for the envelope return new ValidEmail(); } public function getWarnings(): array { return []; } } __halt_compiler();----SIGNATURE:----DkvgJMmx/GJ0nnWlOp+lFiE69y0jZVX7UlLZ/nc9MRHveY+emldqvk8rk+A5/ErQmctKMFkUCw71XCf2/OSRmHuGSSjzwlcxMrfK5lFQrbyhc/YXjBZQD2ngdzbhWH8RRBXKtLZMHYK9GQ2StXUIpGzQaEATmBosN24PoqGMSrD7eWWZPc3goX6xpD6lYuLz84T5EIcfrv/wMH99wtRugDd+krNEsumjR3WEMIo8w5ufe0zuHd4LR1tyZ2NOA4v7mWM3WNDv0RJmmaRQjccncSq74zwZUt4rHVkgmXaozde3aotEcG8UyGR1AbsQL3Un+yfG5x/wPIeog+GnMEwV0X5j3uHuDHncb+yGdWVGKz2N6gfeDXw4MmHHNDshVnIUJseHMgGuGVGmL3H0i8ebm44Xh2vwr4B5lYXTUqKCHKNsI5xqduf+PEhfk+3M3TRSzfhiFqCbyAuI6ZKjgpLduLYM3IWUZv+0RJRCKyUOvaqCKvyHl1IaHKrlnmHb/v0sU6KWz8l6HkQGt0VxYSdsnAEMkHNS7c/j2N+gyMKTCvS7jQzB50OdUuSAxgBUUU/qL4xEt3jpFtGW6IgDII9GlRcu7LJXKx4GMm/iTy8r9cvuD0hfOOMOBliQgGorsLZ+B/UTuzEqXCw9eJM7Lb3pe7CHUzvz4um3lPd22G+kpaI=----ATTACHMENT:----ODAxMDYwNjk5Njg5NzIzIDI0NjE1OTIzMDExMTczMDYgNTI2NTQ0MjM4Mzk4ODk3Mg==