From 4b8c51ad89348187f2668bbdd00212a1a2b13ffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Machulda?= Date: Tue, 7 May 2024 00:50:40 +0200 Subject: [PATCH] Feat: Empty body of function should be abberviated `{}` as defined in PER2.0 (part of #94) --- ecs.php | 3 +++ src/Helper/SniffClassWrapper.php | 4 +--- tests/Integration/Fixtures/Basic.correct.php.inc | 6 ++++++ tests/Integration/Fixtures/Basic.wrong.php.inc | 8 ++++++++ tests/Integration/Fixtures/NewPhpFeatures.correct.php.inc | 3 +-- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ecs.php b/ecs.php index ab97c09..cc9cfce 100644 --- a/ecs.php +++ b/ecs.php @@ -46,6 +46,7 @@ use PhpCsFixer\Fixer\Basic\BracesFixer; use PhpCsFixer\Fixer\Basic\NoTrailingCommaInSinglelineFixer; use PhpCsFixer\Fixer\Basic\PsrAutoloadingFixer; +use PhpCsFixer\Fixer\Basic\SingleLineEmptyBodyFixer; use PhpCsFixer\Fixer\Casing\ClassReferenceNameCasingFixer; use PhpCsFixer\Fixer\Casing\MagicMethodCasingFixer; use PhpCsFixer\Fixer\Casing\NativeFunctionCasingFixer; @@ -229,6 +230,8 @@ SetTypeToCastFixer::class, // Array index should always be written by using square braces NormalizeIndexBraceFixer::class, + // Empty body of class, interface, trait, enum or function must be abbreviated as {} and placed on the same line as the previous symbol, separated by a single space. + SingleLineEmptyBodyFixer::class, // Defined in PER 2.0 // Values separated by a comma on a single line should not have a trailing comma. NoTrailingCommaInSinglelineFixer::class, // Multi-line arrays, arguments list and parameters list must have a trailing comma diff --git a/src/Helper/SniffClassWrapper.php b/src/Helper/SniffClassWrapper.php index 84d05f2..470fda6 100644 --- a/src/Helper/SniffClassWrapper.php +++ b/src/Helper/SniffClassWrapper.php @@ -33,9 +33,7 @@ final class SniffClassWrapper { - public function __construct(private File $file, private int $position, private Naming $naming) - { - } + public function __construct(private File $file, private int $position, private Naming $naming) {} public function getClassName(): ?string { diff --git a/tests/Integration/Fixtures/Basic.correct.php.inc b/tests/Integration/Fixtures/Basic.correct.php.inc index db6f21f..8ad27a2 100644 --- a/tests/Integration/Fixtures/Basic.correct.php.inc +++ b/tests/Integration/Fixtures/Basic.correct.php.inc @@ -104,4 +104,10 @@ class Basic { return $first . $third; } + + public function emptyFunction1(): void {} // SingleLineEmptyBodyFixer + + public function emptyFunction2( + $arg, + ): void {} // SingleLineEmptyBodyFixer } diff --git a/tests/Integration/Fixtures/Basic.wrong.php.inc b/tests/Integration/Fixtures/Basic.wrong.php.inc index 6d15347..ef49723 100644 --- a/tests/Integration/Fixtures/Basic.wrong.php.inc +++ b/tests/Integration/Fixtures/Basic.wrong.php.inc @@ -101,4 +101,12 @@ class Basic { return $first . $third; } + + public function emptyFunction1(): void { + } // SingleLineEmptyBodyFixer + + public function emptyFunction2( + $arg + ): void { + } // SingleLineEmptyBodyFixer } diff --git a/tests/Integration/Fixtures/NewPhpFeatures.correct.php.inc b/tests/Integration/Fixtures/NewPhpFeatures.correct.php.inc index 4805d68..2b0cba1 100644 --- a/tests/Integration/Fixtures/NewPhpFeatures.correct.php.inc +++ b/tests/Integration/Fixtures/NewPhpFeatures.correct.php.inc @@ -5,8 +5,7 @@ namespace Lmc\CodingStandard\Integration\Fixtures; class NewPhpFeatures { public function __construct(private string $someString) // RequireConstructorPropertyPromotionSniff - { - } + {} public function php80features( string|bool $foo, // TypesSpacesFixer