From 9e841983d82f46b107131d2d496a888f84ea4765 Mon Sep 17 00:00:00 2001 From: Michael Nozdrevatykh Date: Wed, 14 Oct 2020 15:29:04 +0200 Subject: [PATCH 1/2] Improve fully qualified class sniff to check inheritance interfaces too --- .../Sniffs/Classes/FullyQualifiedSniff.php | 3 ++- tests/rules/classes/allowed/FullyQualifiedSniff.php | 7 ++++++- .../not-allowed/FullyQualifiedSniffImplements.php | 12 ++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php diff --git a/custom-standards/Flyeralarm/Sniffs/Classes/FullyQualifiedSniff.php b/custom-standards/Flyeralarm/Sniffs/Classes/FullyQualifiedSniff.php index 47ab8a2..1cbaf6d 100644 --- a/custom-standards/Flyeralarm/Sniffs/Classes/FullyQualifiedSniff.php +++ b/custom-standards/Flyeralarm/Sniffs/Classes/FullyQualifiedSniff.php @@ -13,7 +13,7 @@ class FullyQualifiedSniff implements Sniff */ public function register() { - return array(T_DOUBLE_COLON, T_NEW, T_EXTENDS); + return array(T_DOUBLE_COLON, T_NEW, T_EXTENDS, T_IMPLEMENTS); } /** @@ -63,6 +63,7 @@ private function getClassCall(File $phpcsFile, $stackPtr): string ); case T_EXTENDS: + case T_IMPLEMENTS: $tokensAsString = $phpcsFile->getTokensAsString( $stackPtr, $phpcsFile->findEndOfStatement($stackPtr) - $stackPtr diff --git a/tests/rules/classes/allowed/FullyQualifiedSniff.php b/tests/rules/classes/allowed/FullyQualifiedSniff.php index cbebc25..40adf13 100644 --- a/tests/rules/classes/allowed/FullyQualifiedSniff.php +++ b/tests/rules/classes/allowed/FullyQualifiedSniff.php @@ -4,10 +4,11 @@ namespace flyeralarm\Test; +use IteratorAggregate; use RuntimeException; use stdClass; -class FullyQualifiedSniff extends stdClass +class FullyQualifiedSniff extends stdClass implements IteratorAggregate { public function a() { @@ -21,4 +22,8 @@ public function b() 'We can\'t explain' ); } + + public function getIterator() + { + } } diff --git a/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php b/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php new file mode 100644 index 0000000..3feb764 --- /dev/null +++ b/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php @@ -0,0 +1,12 @@ + Date: Thu, 15 Oct 2020 10:42:55 +0200 Subject: [PATCH 2/2] Update tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php Co-authored-by: Michel Hartmann --- .../rules/classes/not-allowed/FullyQualifiedSniffImplements.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php b/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php index 3feb764..786d7c0 100644 --- a/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php +++ b/tests/rules/classes/not-allowed/FullyQualifiedSniffImplements.php @@ -4,7 +4,7 @@ namespace flyeralarm\Test; -class FullyQualifiedSniffExtends implements \IteratorAggregate +class FullyQualifiedSniffImplements implements \IteratorAggregate { public function getIterator() {