| @@ 97-105 (lines=9) @@ | ||
| 94 | return new ValidEmail(); |
|
| 95 | } |
|
| 96 | ||
| 97 | private function parseLocalFWS() : Result |
|
| 98 | { |
|
| 99 | $foldingWS = new FoldingWhiteSpace($this->lexer); |
|
| 100 | $resultFWS = $foldingWS->parse(); |
|
| 101 | if ($resultFWS->isValid()) { |
|
| 102 | $this->warnings = array_merge($this->warnings, $foldingWS->getWarnings()); |
|
| 103 | } |
|
| 104 | return $resultFWS; |
|
| 105 | } |
|
| 106 | ||
| 107 | private function hasDotAtStart() : bool |
|
| 108 | { |
|
| @@ 112-119 (lines=8) @@ | ||
| 109 | return $this->lexer->token['type'] === EmailLexer::S_DOT && null === $this->lexer->getPrevious()['type']; |
|
| 110 | } |
|
| 111 | ||
| 112 | private function parseDoubleQuote() : Result |
|
| 113 | { |
|
| 114 | $dquoteParser = new DoubleQuote($this->lexer); |
|
| 115 | $parseAgain = $dquoteParser->parse(); |
|
| 116 | $this->warnings = array_merge($this->warnings, $dquoteParser->getWarnings()); |
|
| 117 | ||
| 118 | return $parseAgain; |
|
| 119 | } |
|
| 120 | ||
| 121 | private function parseComments(): Result |
|
| 122 | { |
|
| @@ 121-130 (lines=10) @@ | ||
| 118 | return $parseAgain; |
|
| 119 | } |
|
| 120 | ||
| 121 | private function parseComments(): Result |
|
| 122 | { |
|
| 123 | $commentParser = new Comment($this->lexer, new LocalComment()); |
|
| 124 | $result = $commentParser->parse(); |
|
| 125 | $this->warnings = array_merge($this->warnings, $commentParser->getWarnings()); |
|
| 126 | if($result->isInvalid()) { |
|
| 127 | return $result; |
|
| 128 | } |
|
| 129 | return $result; |
|
| 130 | } |
|
| 131 | ||
| 132 | private function validateEscaping() : Result |
|
| 133 | { |
|
| @@ 38-44 (lines=7) @@ | ||
| 35 | ||
| 36 | abstract public function parse() : Result; |
|
| 37 | ||
| 38 | protected function parseFWS() : Result |
|
| 39 | { |
|
| 40 | $foldingWS = new FoldingWhiteSpace($this->lexer); |
|
| 41 | $resultFWS = $foldingWS->parse(); |
|
| 42 | $this->warnings = array_merge($this->warnings, $foldingWS->getWarnings()); |
|
| 43 | return $resultFWS; |
|
| 44 | } |
|
| 45 | ||
| 46 | protected function checkConsecutiveDots() : Result |
|
| 47 | { |
|
| @@ 139-146 (lines=8) @@ | ||
| 136 | return $this->domainPart; |
|
| 137 | } |
|
| 138 | ||
| 139 | protected function parseComments(): Result |
|
| 140 | { |
|
| 141 | $commentParser = new Comment($this->lexer, new DomainComment()); |
|
| 142 | $result = $commentParser->parse(); |
|
| 143 | $this->warnings = array_merge($this->warnings, $commentParser->getWarnings()); |
|
| 144 | ||
| 145 | return $result; |
|
| 146 | } |
|
| 147 | ||
| 148 | protected function doParseDomainPart() : Result |
|
| 149 | { |
|