Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DX: code grooming #5664

Merged
merged 1 commit into from Apr 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions dev-tools/composer.json
Expand Up @@ -3,14 +3,14 @@
"php": "^7.1"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.11",
"ergebnis/composer-normalize": "^2.13",
"humbug/box": "^3.8",
"jangregor/phpstan-prophecy": "^0.6",
"maglnet/composer-require-checker": "2.0.0",
"mi-schi/phpmd-extension": "^4.3",
"phpmd/phpmd": "^2.9",
"phpstan/phpstan": "0.12.19",
"phpstan/phpstan-phpunit": "^0.12.8"
"phpmd/phpmd": "^2.10",
"phpstan/phpstan": "0.12.25",
"phpstan/phpstan-phpunit": "0.12.11"
},
"config": {
"optimize-autoloader": true,
Expand Down
10 changes: 0 additions & 10 deletions phpstan.neon
Expand Up @@ -21,9 +21,6 @@ parameters:
-
message: '/^Else branch is unreachable because previous condition is always true\.$/'
path: src/Event/Event.php
-
message: '/^Strict comparison using !== between ''@git-commit@'' and ''@git-commit@'' will always evaluate to false\.$/'
path: src/Console/Application.php
-
message: '/^Result of && is always false\.$/'
path: src/Config.php
Expand All @@ -34,18 +31,11 @@ parameters:
message: '/^Else branch is unreachable because ternary operator condition is always true\.$/'
paths:
- src/Config.php
- src/Tokenizer/Token.php
-
message: '/^Parameter #1 \$function of function register_shutdown_function expects callable\(\): void, array\(\$this\(PhpCsFixer\\FileRemoval\), ''clean''\) given\.$/'
path: src/FileRemoval.php
- # https://github.com/phpstan/phpstan/issues/1215
message: '/^Strict comparison using === between false and string will always evaluate to false\.$/'
path: src/Fixer/StringNotation/NoTrailingWhitespaceInStringFixer.php
-
message: '/^Constant T_ATTRIBUTE not found\.$/'
path: src/Tokenizer/Transformer/AttributeTransformer.php
-
message: '/^\$this\(PhpCsFixer\\Tokenizer\\Tokens\) does not accept PhpCsFixer\\Tokenizer\\Token\|null\.$/'
path: src/Tokenizer/Tokens.php

tipsOfTheDay: false
2 changes: 1 addition & 1 deletion src/Console/Application.php
Expand Up @@ -103,7 +103,7 @@ public function getLongVersion()

$commit = '@git-commit@';

if ('@'.'git-commit@' !== $commit) {
if ('@'.'git-commit@' !== $commit) { // @phpstan-ignore-line as `$commit` is replaced during phar building
$version .= ' ('.substr($commit, 0, 7).')';
}

Expand Down
Expand Up @@ -89,7 +89,7 @@ protected function applyFix(\SplFileInfo $file, Tokens $tokens)
if ($tokens[$prev]->equals([T_CLOSE_TAG, '?>']) && Preg::match('/^\R/', $content, $match)) {
$tokens[$prev] = new Token([T_CLOSE_TAG, $tokens[$prev]->getContent().$match[0]]);
$content = substr($content, \strlen($match[0]));
$content = false === $content ? '' : $content;
$content = false === $content ? '' : $content; // @phpstan-ignore-line due to https://github.com/phpstan/phpstan/issues/1215 , awaiting PHP8 as min requirement of Fixer
}

$this->updateContent($tokens, $index, $content);
Expand Down
1 change: 1 addition & 0 deletions src/Tokenizer/Token.php
Expand Up @@ -87,6 +87,7 @@ public function __construct($token)
} else {
throw new \InvalidArgumentException(sprintf(
'Cannot recognize input value as valid Token prototype, got "%s".',
// @phpstan-ignore-next-line due to lack of strong typing of method parameter
\is_object($token) ? \get_class($token) : \gettype($token)
));
}
Expand Down
2 changes: 1 addition & 1 deletion src/Tokenizer/Tokens.php
Expand Up @@ -386,7 +386,7 @@ public function clearEmptyTokens()

for ($count = $index; $index < $limit; ++$index) {
if (!$this->isEmptyAt($index)) {
$this[$count++] = $this[$index];
$this[$count++] = $this[$index]; // @phpstan-ignore-line as we know that index exists
}
}

Expand Down
14 changes: 13 additions & 1 deletion tests/RuleSet/RuleSetsTest.php
Expand Up @@ -323,6 +323,18 @@ private static function getFixerByName($name)
$factory->registerBuiltInFixers();
$factory->useRuleSet(new RuleSet([$name => true]));

return current($factory->getFixers());
$fixers = $factory->getFixers();

if (empty($fixers)) {
throw new \RuntimeException('FixerFactory unexpectedly returned empty array.');
}

$fixer = current($fixers);

if (!$fixer instanceof AbstractFixer) {
throw new \RuntimeException(sprintf('Fixer class for "%s" rule does not extend "%s".', $name, AbstractFixer::class));
}

return $fixer;
}
}