diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index db431e18..18eda4d1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: true matrix: - php: ['8.1', '8.2', '8.3'] + php: ['8.1', '8.2', '8.3', '8.4'] deps: [highest] include: diff --git a/composer.json b/composer.json index bf1b3f4c..f2fa26f3 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ }, "require-dev": { "phpunit/phpunit": "^10.2", - "vimeo/psalm": "^5.12" + "vimeo/psalm": "^5.26.1 || ^6.8.8" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" diff --git a/src/EmailLexer.php b/src/EmailLexer.php index a7fdc2d2..8e242939 100644 --- a/src/EmailLexer.php +++ b/src/EmailLexer.php @@ -6,7 +6,7 @@ use Doctrine\Common\Lexer\Token; /** @extends AbstractLexer */ -class EmailLexer extends AbstractLexer +final class EmailLexer extends AbstractLexer { //ASCII values public const S_EMPTY = -1; diff --git a/src/EmailParser.php b/src/EmailParser.php index fc449c76..07d0d33a 100644 --- a/src/EmailParser.php +++ b/src/EmailParser.php @@ -10,7 +10,7 @@ use Egulias\EmailValidator\Warning\EmailTooLong; use Egulias\EmailValidator\Result\Reason\NoLocalPart; -class EmailParser extends Parser +final class EmailParser extends Parser { public const EMAIL_MAX_LENGTH = 254; diff --git a/src/EmailValidator.php b/src/EmailValidator.php index 5a2e5c82..c072fd6b 100644 --- a/src/EmailValidator.php +++ b/src/EmailValidator.php @@ -5,7 +5,7 @@ use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Validation\EmailValidation; -class EmailValidator +final class EmailValidator { /** * @var EmailLexer diff --git a/src/MessageIDParser.php b/src/MessageIDParser.php index 35bd0a7f..b7e31b66 100644 --- a/src/MessageIDParser.php +++ b/src/MessageIDParser.php @@ -10,7 +10,7 @@ use Egulias\EmailValidator\Warning\EmailTooLong; use Egulias\EmailValidator\Result\Reason\NoLocalPart; -class MessageIDParser extends Parser +final class MessageIDParser extends Parser { public const EMAILID_MAX_LENGTH = 254; diff --git a/src/Parser/Comment.php b/src/Parser/Comment.php index 7b5b47e2..0b41f6c8 100644 --- a/src/Parser/Comment.php +++ b/src/Parser/Comment.php @@ -11,7 +11,7 @@ use Egulias\EmailValidator\Result\Reason\UnOpenedComment; use Egulias\EmailValidator\Warning\Comment as WarningComment; -class Comment extends PartParser +final class Comment extends PartParser { /** * @var int diff --git a/src/Parser/CommentStrategy/DomainComment.php b/src/Parser/CommentStrategy/DomainComment.php index 80d6d104..48307a18 100644 --- a/src/Parser/CommentStrategy/DomainComment.php +++ b/src/Parser/CommentStrategy/DomainComment.php @@ -8,7 +8,7 @@ use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Result\Reason\ExpectingATEXT; -class DomainComment implements CommentStrategy +final class DomainComment implements CommentStrategy { public function exitCondition(EmailLexer $lexer, int $openedParenthesis): bool { diff --git a/src/Parser/CommentStrategy/LocalComment.php b/src/Parser/CommentStrategy/LocalComment.php index 5f30a90b..f2af0c3f 100644 --- a/src/Parser/CommentStrategy/LocalComment.php +++ b/src/Parser/CommentStrategy/LocalComment.php @@ -10,7 +10,7 @@ use Egulias\EmailValidator\Result\Reason\ExpectingATEXT; use Egulias\EmailValidator\Warning\Warning; -class LocalComment implements CommentStrategy +final class LocalComment implements CommentStrategy { /** * @var array diff --git a/src/Parser/DomainLiteral.php b/src/Parser/DomainLiteral.php index 5093e508..56e8ac4e 100644 --- a/src/Parser/DomainLiteral.php +++ b/src/Parser/DomainLiteral.php @@ -21,7 +21,7 @@ use Egulias\EmailValidator\Result\Reason\UnusualElements; use Egulias\EmailValidator\Warning\DomainLiteral as WarningDomainLiteral; -class DomainLiteral extends PartParser +final class DomainLiteral extends PartParser { public const IPV4_REGEX = '/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/'; diff --git a/src/Parser/DoubleQuote.php b/src/Parser/DoubleQuote.php index b5335d30..cc4fe86a 100644 --- a/src/Parser/DoubleQuote.php +++ b/src/Parser/DoubleQuote.php @@ -11,7 +11,7 @@ use Egulias\EmailValidator\Result\Reason\UnclosedQuotedString; use Egulias\EmailValidator\Result\Result; -class DoubleQuote extends PartParser +final class DoubleQuote extends PartParser { public function parse(): Result { diff --git a/src/Parser/FoldingWhiteSpace.php b/src/Parser/FoldingWhiteSpace.php index 348a7af4..91b980f1 100644 --- a/src/Parser/FoldingWhiteSpace.php +++ b/src/Parser/FoldingWhiteSpace.php @@ -14,7 +14,7 @@ use Egulias\EmailValidator\Result\Result; use Egulias\EmailValidator\Result\ValidEmail; -class FoldingWhiteSpace extends PartParser +final class FoldingWhiteSpace extends PartParser { public const FWS_TYPES = [ EmailLexer::S_SP, diff --git a/src/Parser/IDLeftPart.php b/src/Parser/IDLeftPart.php index bedcf7b2..dc712b7d 100644 --- a/src/Parser/IDLeftPart.php +++ b/src/Parser/IDLeftPart.php @@ -6,7 +6,7 @@ use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Result\Reason\CommentsInIDRight; -class IDLeftPart extends LocalPart +final class IDLeftPart extends LocalPart { protected function parseComments(): Result { diff --git a/src/Parser/IDRightPart.php b/src/Parser/IDRightPart.php index d2fc1d74..7efd1599 100644 --- a/src/Parser/IDRightPart.php +++ b/src/Parser/IDRightPart.php @@ -8,7 +8,7 @@ use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Result\Reason\ExpectingATEXT; -class IDRightPart extends DomainPart +final class IDRightPart extends DomainPart { protected function validateTokens(bool $hasComments): Result { diff --git a/src/Result/MultipleErrors.php b/src/Result/MultipleErrors.php index 5fa85afc..77583c81 100644 --- a/src/Result/MultipleErrors.php +++ b/src/Result/MultipleErrors.php @@ -8,7 +8,7 @@ /** * @psalm-suppress PropertyNotSetInConstructor */ -class MultipleErrors extends InvalidEmail +final class MultipleErrors extends InvalidEmail { /** * @var Reason[] diff --git a/src/Result/Reason/AtextAfterCFWS.php b/src/Result/Reason/AtextAfterCFWS.php index 96e22842..5422bd43 100644 --- a/src/Result/Reason/AtextAfterCFWS.php +++ b/src/Result/Reason/AtextAfterCFWS.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class AtextAfterCFWS implements Reason +final class AtextAfterCFWS implements Reason { public function code() : int { diff --git a/src/Result/Reason/CRLFAtTheEnd.php b/src/Result/Reason/CRLFAtTheEnd.php index 185b9ebc..858634f7 100644 --- a/src/Result/Reason/CRLFAtTheEnd.php +++ b/src/Result/Reason/CRLFAtTheEnd.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class CRLFAtTheEnd implements Reason +final class CRLFAtTheEnd implements Reason { public const CODE = 149; public const REASON = "CRLF at the end"; diff --git a/src/Result/Reason/CRLFX2.php b/src/Result/Reason/CRLFX2.php index 61235649..7c4c02c2 100644 --- a/src/Result/Reason/CRLFX2.php +++ b/src/Result/Reason/CRLFX2.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class CRLFX2 implements Reason +final class CRLFX2 implements Reason { public function code() : int { diff --git a/src/Result/Reason/CRNoLF.php b/src/Result/Reason/CRNoLF.php index e315ff0c..b81ad411 100644 --- a/src/Result/Reason/CRNoLF.php +++ b/src/Result/Reason/CRNoLF.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class CRNoLF implements Reason +final class CRNoLF implements Reason { public function code() : int { diff --git a/src/Result/Reason/CharNotAllowed.php b/src/Result/Reason/CharNotAllowed.php index 7840cc76..4bc2b20a 100644 --- a/src/Result/Reason/CharNotAllowed.php +++ b/src/Result/Reason/CharNotAllowed.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class CharNotAllowed implements Reason +final class CharNotAllowed implements Reason { public function code() : int { diff --git a/src/Result/Reason/CommaInDomain.php b/src/Result/Reason/CommaInDomain.php index 055f1457..31e3818f 100644 --- a/src/Result/Reason/CommaInDomain.php +++ b/src/Result/Reason/CommaInDomain.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class CommaInDomain implements Reason +final class CommaInDomain implements Reason { public function code() : int { diff --git a/src/Result/Reason/CommentsInIDRight.php b/src/Result/Reason/CommentsInIDRight.php index 6567a110..6ed2b243 100644 --- a/src/Result/Reason/CommentsInIDRight.php +++ b/src/Result/Reason/CommentsInIDRight.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class CommentsInIDRight implements Reason +final class CommentsInIDRight implements Reason { public function code() : int { diff --git a/src/Result/Reason/ConsecutiveAt.php b/src/Result/Reason/ConsecutiveAt.php index 5128dc9e..f5fb3fb8 100644 --- a/src/Result/Reason/ConsecutiveAt.php +++ b/src/Result/Reason/ConsecutiveAt.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ConsecutiveAt implements Reason +final class ConsecutiveAt implements Reason { public function code() : int { diff --git a/src/Result/Reason/ConsecutiveDot.php b/src/Result/Reason/ConsecutiveDot.php index e7b65657..617707c1 100644 --- a/src/Result/Reason/ConsecutiveDot.php +++ b/src/Result/Reason/ConsecutiveDot.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ConsecutiveDot implements Reason +final class ConsecutiveDot implements Reason { public function code() : int { diff --git a/src/Result/Reason/DomainAcceptsNoMail.php b/src/Result/Reason/DomainAcceptsNoMail.php index bcaefb68..496165c4 100644 --- a/src/Result/Reason/DomainAcceptsNoMail.php +++ b/src/Result/Reason/DomainAcceptsNoMail.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class DomainAcceptsNoMail implements Reason +final class DomainAcceptsNoMail implements Reason { public function code() : int { diff --git a/src/Result/Reason/DomainHyphened.php b/src/Result/Reason/DomainHyphened.php index 2944eb8e..be9dc16d 100644 --- a/src/Result/Reason/DomainHyphened.php +++ b/src/Result/Reason/DomainHyphened.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class DomainHyphened extends DetailedReason +final class DomainHyphened extends DetailedReason { public function code() : int { diff --git a/src/Result/Reason/DomainTooLong.php b/src/Result/Reason/DomainTooLong.php index fa172132..62105c10 100644 --- a/src/Result/Reason/DomainTooLong.php +++ b/src/Result/Reason/DomainTooLong.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class DomainTooLong implements Reason +final class DomainTooLong implements Reason { public function code() : int { diff --git a/src/Result/Reason/DotAtEnd.php b/src/Result/Reason/DotAtEnd.php index 6dfe6055..40cbd9ba 100644 --- a/src/Result/Reason/DotAtEnd.php +++ b/src/Result/Reason/DotAtEnd.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class DotAtEnd implements Reason +final class DotAtEnd implements Reason { public function code() : int { diff --git a/src/Result/Reason/DotAtStart.php b/src/Result/Reason/DotAtStart.php index b564f1b5..df9dbac5 100644 --- a/src/Result/Reason/DotAtStart.php +++ b/src/Result/Reason/DotAtStart.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class DotAtStart implements Reason +final class DotAtStart implements Reason { public function code() : int { diff --git a/src/Result/Reason/EmptyReason.php b/src/Result/Reason/EmptyReason.php index 3016e6f7..5dcfb144 100644 --- a/src/Result/Reason/EmptyReason.php +++ b/src/Result/Reason/EmptyReason.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class EmptyReason implements Reason +final class EmptyReason implements Reason { public function code() : int { diff --git a/src/Result/Reason/ExceptionFound.php b/src/Result/Reason/ExceptionFound.php index ffed86c3..3ef1107f 100644 --- a/src/Result/Reason/ExceptionFound.php +++ b/src/Result/Reason/ExceptionFound.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ExceptionFound implements Reason +final class ExceptionFound implements Reason { /** * @var \Exception diff --git a/src/Result/Reason/ExpectingATEXT.php b/src/Result/Reason/ExpectingATEXT.php index 07ea8d23..2443f96a 100644 --- a/src/Result/Reason/ExpectingATEXT.php +++ b/src/Result/Reason/ExpectingATEXT.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ExpectingATEXT extends DetailedReason +final class ExpectingATEXT extends DetailedReason { public function code() : int { diff --git a/src/Result/Reason/ExpectingCTEXT.php b/src/Result/Reason/ExpectingCTEXT.php index 64f5f7c3..1885b0be 100644 --- a/src/Result/Reason/ExpectingCTEXT.php +++ b/src/Result/Reason/ExpectingCTEXT.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ExpectingCTEXT implements Reason +final class ExpectingCTEXT implements Reason { public function code() : int { diff --git a/src/Result/Reason/ExpectingDTEXT.php b/src/Result/Reason/ExpectingDTEXT.php index e47c251b..88302158 100644 --- a/src/Result/Reason/ExpectingDTEXT.php +++ b/src/Result/Reason/ExpectingDTEXT.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ExpectingDTEXT implements Reason +final class ExpectingDTEXT implements Reason { public function code() : int { diff --git a/src/Result/Reason/ExpectingDomainLiteralClose.php b/src/Result/Reason/ExpectingDomainLiteralClose.php index 525e7aca..1f3e7d5e 100644 --- a/src/Result/Reason/ExpectingDomainLiteralClose.php +++ b/src/Result/Reason/ExpectingDomainLiteralClose.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class ExpectingDomainLiteralClose implements Reason +final class ExpectingDomainLiteralClose implements Reason { public function code() : int { diff --git a/src/Result/Reason/LabelTooLong.php b/src/Result/Reason/LabelTooLong.php index e181ef92..aadac423 100644 --- a/src/Result/Reason/LabelTooLong.php +++ b/src/Result/Reason/LabelTooLong.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class LabelTooLong implements Reason +final class LabelTooLong implements Reason { public function code() : int { diff --git a/src/Result/Reason/LocalOrReservedDomain.php b/src/Result/Reason/LocalOrReservedDomain.php index c464767b..4052e3d6 100644 --- a/src/Result/Reason/LocalOrReservedDomain.php +++ b/src/Result/Reason/LocalOrReservedDomain.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class LocalOrReservedDomain implements Reason +final class LocalOrReservedDomain implements Reason { public function code() : int { diff --git a/src/Result/Reason/NoDomainPart.php b/src/Result/Reason/NoDomainPart.php index bbbb04be..61f99ccb 100644 --- a/src/Result/Reason/NoDomainPart.php +++ b/src/Result/Reason/NoDomainPart.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class NoDomainPart implements Reason +final class NoDomainPart implements Reason { public function code() : int { diff --git a/src/Result/Reason/NoLocalPart.php b/src/Result/Reason/NoLocalPart.php index 984c0619..21a0efd0 100644 --- a/src/Result/Reason/NoLocalPart.php +++ b/src/Result/Reason/NoLocalPart.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class NoLocalPart implements Reason +final class NoLocalPart implements Reason { public function code() : int { diff --git a/src/Result/Reason/RFCWarnings.php b/src/Result/Reason/RFCWarnings.php index e6ff29a3..998b09f5 100644 --- a/src/Result/Reason/RFCWarnings.php +++ b/src/Result/Reason/RFCWarnings.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class RFCWarnings implements Reason +final class RFCWarnings implements Reason { public function code() : int { diff --git a/src/Result/Reason/SpoofEmail.php b/src/Result/Reason/SpoofEmail.php index da669cc8..6d1d208c 100644 --- a/src/Result/Reason/SpoofEmail.php +++ b/src/Result/Reason/SpoofEmail.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class SpoofEmail implements Reason +final class SpoofEmail implements Reason { public function code() : int { diff --git a/src/Result/Reason/UnOpenedComment.php b/src/Result/Reason/UnOpenedComment.php index b0a43168..7f63b656 100644 --- a/src/Result/Reason/UnOpenedComment.php +++ b/src/Result/Reason/UnOpenedComment.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class UnOpenedComment implements Reason +final class UnOpenedComment implements Reason { public function code() : int { diff --git a/src/Result/Reason/UnableToGetDNSRecord.php b/src/Result/Reason/UnableToGetDNSRecord.php index f178b1a0..b0b1ce3b 100644 --- a/src/Result/Reason/UnableToGetDNSRecord.php +++ b/src/Result/Reason/UnableToGetDNSRecord.php @@ -5,7 +5,7 @@ /** * Used on SERVFAIL, TIMEOUT or other runtime and network errors */ -class UnableToGetDNSRecord extends NoDNSRecord +final class UnableToGetDNSRecord extends NoDNSRecord { public function code() : int { diff --git a/src/Result/Reason/UnclosedComment.php b/src/Result/Reason/UnclosedComment.php index 4ac41a0b..0d1f9f9f 100644 --- a/src/Result/Reason/UnclosedComment.php +++ b/src/Result/Reason/UnclosedComment.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class UnclosedComment implements Reason +final class UnclosedComment implements Reason { public function code() : int { diff --git a/src/Result/Reason/UnclosedQuotedString.php b/src/Result/Reason/UnclosedQuotedString.php index f42c4225..329a64e4 100644 --- a/src/Result/Reason/UnclosedQuotedString.php +++ b/src/Result/Reason/UnclosedQuotedString.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class UnclosedQuotedString implements Reason +final class UnclosedQuotedString implements Reason { public function code() : int { diff --git a/src/Result/Reason/UnusualElements.php b/src/Result/Reason/UnusualElements.php index 18b6e6e1..6c1f3593 100644 --- a/src/Result/Reason/UnusualElements.php +++ b/src/Result/Reason/UnusualElements.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result\Reason; -class UnusualElements implements Reason +final class UnusualElements implements Reason { /** * @var string $element diff --git a/src/Result/SpoofEmail.php b/src/Result/SpoofEmail.php index 0ad449b7..66743ed4 100644 --- a/src/Result/SpoofEmail.php +++ b/src/Result/SpoofEmail.php @@ -3,7 +3,7 @@ use Egulias\EmailValidator\Result\Reason\SpoofEmail as ReasonSpoofEmail; -class SpoofEmail extends InvalidEmail +final class SpoofEmail extends InvalidEmail { public function __construct() { diff --git a/src/Result/ValidEmail.php b/src/Result/ValidEmail.php index fdc882fa..9dbc96a1 100644 --- a/src/Result/ValidEmail.php +++ b/src/Result/ValidEmail.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Result; -class ValidEmail implements Result +final class ValidEmail implements Result { public function isValid(): bool { diff --git a/src/Validation/DNSCheckValidation.php b/src/Validation/DNSCheckValidation.php index 469e87dc..5d7d309f 100644 --- a/src/Validation/DNSCheckValidation.php +++ b/src/Validation/DNSCheckValidation.php @@ -11,7 +11,7 @@ use Egulias\EmailValidator\Warning\NoDNSMXRecord; use Egulias\EmailValidator\Warning\Warning; -class DNSCheckValidation implements EmailValidation +final class DNSCheckValidation implements EmailValidation { /** diff --git a/src/Validation/DNSRecords.php b/src/Validation/DNSRecords.php index ba4e8b55..266e10a0 100644 --- a/src/Validation/DNSRecords.php +++ b/src/Validation/DNSRecords.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Validation; -class DNSRecords +final class DNSRecords { /** * @param list> $records diff --git a/src/Validation/Exception/EmptyValidationList.php b/src/Validation/Exception/EmptyValidationList.php index 4a031b16..09d99d5e 100644 --- a/src/Validation/Exception/EmptyValidationList.php +++ b/src/Validation/Exception/EmptyValidationList.php @@ -4,7 +4,7 @@ use Exception; -class EmptyValidationList extends \InvalidArgumentException +final class EmptyValidationList extends \InvalidArgumentException { /** * @param int $code diff --git a/src/Validation/Extra/SpoofCheckValidation.php b/src/Validation/Extra/SpoofCheckValidation.php index faeefb69..7b707199 100644 --- a/src/Validation/Extra/SpoofCheckValidation.php +++ b/src/Validation/Extra/SpoofCheckValidation.php @@ -8,7 +8,7 @@ use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Validation\EmailValidation; -class SpoofCheckValidation implements EmailValidation +final class SpoofCheckValidation implements EmailValidation { /** * @var InvalidEmail|null diff --git a/src/Validation/MessageIDValidation.php b/src/Validation/MessageIDValidation.php index 97d1ea7a..28e93e43 100644 --- a/src/Validation/MessageIDValidation.php +++ b/src/Validation/MessageIDValidation.php @@ -8,7 +8,7 @@ use Egulias\EmailValidator\Result\Reason\ExceptionFound; use Egulias\EmailValidator\Warning\Warning; -class MessageIDValidation implements EmailValidation +final class MessageIDValidation implements EmailValidation { /** diff --git a/src/Validation/MultipleValidationWithAnd.php b/src/Validation/MultipleValidationWithAnd.php index c908053f..31b91fba 100644 --- a/src/Validation/MultipleValidationWithAnd.php +++ b/src/Validation/MultipleValidationWithAnd.php @@ -8,7 +8,7 @@ use Egulias\EmailValidator\Result\MultipleErrors; use Egulias\EmailValidator\Warning\Warning; -class MultipleValidationWithAnd implements EmailValidation +final class MultipleValidationWithAnd implements EmailValidation { /** * If one of validations fails, the remaining validations will be skipped. diff --git a/src/Validation/NoRFCWarningsValidation.php b/src/Validation/NoRFCWarningsValidation.php index 06885ed7..2e5a5876 100644 --- a/src/Validation/NoRFCWarningsValidation.php +++ b/src/Validation/NoRFCWarningsValidation.php @@ -6,7 +6,7 @@ use Egulias\EmailValidator\Result\InvalidEmail; use Egulias\EmailValidator\Result\Reason\RFCWarnings; -class NoRFCWarningsValidation extends RFCValidation +final class NoRFCWarningsValidation extends RFCValidation { /** * @var InvalidEmail|null diff --git a/src/Warning/AddressLiteral.php b/src/Warning/AddressLiteral.php index 474ff0e7..78ae1fee 100644 --- a/src/Warning/AddressLiteral.php +++ b/src/Warning/AddressLiteral.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class AddressLiteral extends Warning +final class AddressLiteral extends Warning { public const CODE = 12; diff --git a/src/Warning/CFWSNearAt.php b/src/Warning/CFWSNearAt.php index 8bac12b1..d2585a39 100644 --- a/src/Warning/CFWSNearAt.php +++ b/src/Warning/CFWSNearAt.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class CFWSNearAt extends Warning +final class CFWSNearAt extends Warning { public const CODE = 49; diff --git a/src/Warning/CFWSWithFWS.php b/src/Warning/CFWSWithFWS.php index ba57601c..adfd3fdf 100644 --- a/src/Warning/CFWSWithFWS.php +++ b/src/Warning/CFWSWithFWS.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class CFWSWithFWS extends Warning +final class CFWSWithFWS extends Warning { public const CODE = 18; diff --git a/src/Warning/Comment.php b/src/Warning/Comment.php index 6508295e..139148a7 100644 --- a/src/Warning/Comment.php +++ b/src/Warning/Comment.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class Comment extends Warning +final class Comment extends Warning { public const CODE = 17; diff --git a/src/Warning/DeprecatedComment.php b/src/Warning/DeprecatedComment.php index a2578076..6a7f28c8 100644 --- a/src/Warning/DeprecatedComment.php +++ b/src/Warning/DeprecatedComment.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class DeprecatedComment extends Warning +final class DeprecatedComment extends Warning { public const CODE = 37; diff --git a/src/Warning/DomainLiteral.php b/src/Warning/DomainLiteral.php index 034388c4..6decd327 100644 --- a/src/Warning/DomainLiteral.php +++ b/src/Warning/DomainLiteral.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class DomainLiteral extends Warning +final class DomainLiteral extends Warning { public const CODE = 70; diff --git a/src/Warning/EmailTooLong.php b/src/Warning/EmailTooLong.php index d25ad123..f7c33ce8 100644 --- a/src/Warning/EmailTooLong.php +++ b/src/Warning/EmailTooLong.php @@ -4,7 +4,7 @@ use Egulias\EmailValidator\EmailParser; -class EmailTooLong extends Warning +final class EmailTooLong extends Warning { public const CODE = 66; diff --git a/src/Warning/IPV6BadChar.php b/src/Warning/IPV6BadChar.php index 3ecd5bcc..381f9843 100644 --- a/src/Warning/IPV6BadChar.php +++ b/src/Warning/IPV6BadChar.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6BadChar extends Warning +final class IPV6BadChar extends Warning { public const CODE = 74; diff --git a/src/Warning/IPV6ColonEnd.php b/src/Warning/IPV6ColonEnd.php index 3f0c2f2d..88ba98bc 100644 --- a/src/Warning/IPV6ColonEnd.php +++ b/src/Warning/IPV6ColonEnd.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6ColonEnd extends Warning +final class IPV6ColonEnd extends Warning { public const CODE = 77; diff --git a/src/Warning/IPV6ColonStart.php b/src/Warning/IPV6ColonStart.php index 742fb3bd..dff82d7e 100644 --- a/src/Warning/IPV6ColonStart.php +++ b/src/Warning/IPV6ColonStart.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6ColonStart extends Warning +final class IPV6ColonStart extends Warning { public const CODE = 76; diff --git a/src/Warning/IPV6Deprecated.php b/src/Warning/IPV6Deprecated.php index 59c3037a..5e32b700 100644 --- a/src/Warning/IPV6Deprecated.php +++ b/src/Warning/IPV6Deprecated.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6Deprecated extends Warning +final class IPV6Deprecated extends Warning { public const CODE = 13; diff --git a/src/Warning/IPV6DoubleColon.php b/src/Warning/IPV6DoubleColon.php index d4066026..cbf891c6 100644 --- a/src/Warning/IPV6DoubleColon.php +++ b/src/Warning/IPV6DoubleColon.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6DoubleColon extends Warning +final class IPV6DoubleColon extends Warning { public const CODE = 73; diff --git a/src/Warning/IPV6GroupCount.php b/src/Warning/IPV6GroupCount.php index 551bc3af..ba680eb6 100644 --- a/src/Warning/IPV6GroupCount.php +++ b/src/Warning/IPV6GroupCount.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6GroupCount extends Warning +final class IPV6GroupCount extends Warning { public const CODE = 72; diff --git a/src/Warning/IPV6MaxGroups.php b/src/Warning/IPV6MaxGroups.php index 7f8a410a..64337bce 100644 --- a/src/Warning/IPV6MaxGroups.php +++ b/src/Warning/IPV6MaxGroups.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class IPV6MaxGroups extends Warning +final class IPV6MaxGroups extends Warning { public const CODE = 75; diff --git a/src/Warning/LocalTooLong.php b/src/Warning/LocalTooLong.php index b46b874c..3c8024c7 100644 --- a/src/Warning/LocalTooLong.php +++ b/src/Warning/LocalTooLong.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class LocalTooLong extends Warning +final class LocalTooLong extends Warning { public const CODE = 64; public const LOCAL_PART_LENGTH = 64; diff --git a/src/Warning/NoDNSMXRecord.php b/src/Warning/NoDNSMXRecord.php index bddb96be..b6ddaed8 100644 --- a/src/Warning/NoDNSMXRecord.php +++ b/src/Warning/NoDNSMXRecord.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class NoDNSMXRecord extends Warning +final class NoDNSMXRecord extends Warning { public const CODE = 6; diff --git a/src/Warning/ObsoleteDTEXT.php b/src/Warning/ObsoleteDTEXT.php index 412fd499..c1e40d49 100644 --- a/src/Warning/ObsoleteDTEXT.php +++ b/src/Warning/ObsoleteDTEXT.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class ObsoleteDTEXT extends Warning +final class ObsoleteDTEXT extends Warning { public const CODE = 71; diff --git a/src/Warning/QuotedPart.php b/src/Warning/QuotedPart.php index db0850c9..760dc9a4 100644 --- a/src/Warning/QuotedPart.php +++ b/src/Warning/QuotedPart.php @@ -4,7 +4,7 @@ use UnitEnum; -class QuotedPart extends Warning +final class QuotedPart extends Warning { public const CODE = 36; diff --git a/src/Warning/QuotedString.php b/src/Warning/QuotedString.php index 388da0bc..1e550457 100644 --- a/src/Warning/QuotedString.php +++ b/src/Warning/QuotedString.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class QuotedString extends Warning +final class QuotedString extends Warning { public const CODE = 11; diff --git a/src/Warning/TLD.php b/src/Warning/TLD.php index 10cec281..686f9b57 100644 --- a/src/Warning/TLD.php +++ b/src/Warning/TLD.php @@ -2,7 +2,7 @@ namespace Egulias\EmailValidator\Warning; -class TLD extends Warning +final class TLD extends Warning { public const CODE = 9;