Skip to content

Commit

Permalink
[DX] Add strict PHPStan rules - step #5 (#1334)
Browse files Browse the repository at this point in the history
Co-authored-by: GitHub Action <action@github.com>
  • Loading branch information
TomasVotruba and actions-user committed Nov 28, 2021
1 parent 185ee1b commit 21c4a84
Show file tree
Hide file tree
Showing 69 changed files with 191 additions and 163 deletions.
4 changes: 2 additions & 2 deletions build/target-repository/docs/rector_rules_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3684,8 +3684,8 @@ Remove unused parameter in required autowire method
private $visibilityManipulator;

#[Required]
- public function autowireSomeService(VisibilityManipulator $visibilityManipulator)
+ public function autowireSomeService()
- public function autowire(VisibilityManipulator $visibilityManipulator)
+ public function autowire()
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ private function processSerializerTypeTagValueNode(array $oldToNewClasses, PhpDo
foreach ($oldToNewClasses as $oldClass => $newClass) {
$className = $doctrineAnnotationTagValueNode->getSilentValue();

if ($className) {
if (is_string($className)) {
if ($className === $oldClass) {
$doctrineAnnotationTagValueNode->changeSilentValue($newClass);
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public function changeParamType(PhpDocInfo $phpDocInfo, Type $newType, Param $pa
public function copyPropertyDocToParam(Property $property, Param $param): void
{
$phpDocInfo = $property->getAttribute(AttributeKey::PHP_DOC_INFO);
if (! $phpDocInfo) {
if (! $phpDocInfo instanceof PhpDocInfo) {
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function __construct(
}

#[Required]
public function autowirePlainValueParser(
public function autowire(
StaticDoctrineAnnotationParser $staticDoctrineAnnotationParser,
ArrayParser $arrayParser
): void {
Expand Down
2 changes: 1 addition & 1 deletion packages/BetterPhpDocParser/Printer/PhpDocInfoPrinter.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ private function printPhpDocNode(PhpDocNode $phpDocNode): string
$output = $this->printEnd($output);

// fix missing start
if (! StringUtils::isMatch($output, self::DOCBLOCK_START_REGEX) && $output) {
if (! StringUtils::isMatch($output, self::DOCBLOCK_START_REGEX) && $output !== '') {
$output = '/**' . $output;
}

Expand Down
6 changes: 3 additions & 3 deletions packages/ChangesReporting/Output/ConsoleOutputFormatter.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ private function reportFileDiffs(array $fileDiffs): void
if ($fileDiff->getRectorChanges() !== []) {
$this->outputStyle->writeln('<options=underscore>Applied rules:</>');
$this->outputStyle->listing($rectorsChangelogsLines);
$this->outputStyle->newLine();
$this->outputStyle->newline();
}
}
}
Expand All @@ -107,12 +107,12 @@ private function reportErrors(array $errors): void
$message = sprintf(
'Could not process "%s" file%s, due to: %s"%s".',
$error->getRelativeFilePath(),
$error->getRectorClass() ? ' by "' . $error->getRectorClass() . '"' : '',
$error->getRectorClass() !== null ? ' by "' . $error->getRectorClass() . '"' : '',
PHP_EOL,
$errorMessage
);

if ($error->getLine()) {
if ($error->getLine() !== null) {
$message .= ' On line: ' . $error->getLine();
}

Expand Down
8 changes: 4 additions & 4 deletions packages/FileFormatter/Formatter/XmlFileFormatter.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ final class XmlFileFormatter implements FileFormatterInterface
*/
private const IS_CLOSING_TAG_REGEX = '#^\s*<\/#';

private ?int $depth = null;
private int $depth = 0;

private int $indent = 4;

Expand Down Expand Up @@ -79,7 +79,7 @@ private function formatXml(string $xml, EditorConfigConfiguration $editorConfigC
$parts = $this->getXmlParts($xml);

if (str_starts_with($parts[0], '<?xml')) {
$output = array_shift($parts) . $editorConfigConfiguration->getNewline();
$output = array_shift($parts) . $editorConfigConfiguration->getNewLine();
}

foreach ($parts as $part) {
Expand All @@ -104,10 +104,10 @@ private function getOutputForPart(string $part, EditorConfigConfiguration $edito
$this->runPre($part);

if ($this->preserveWhitespace) {
$output .= $part . $editorConfigConfiguration->getNewline();
$output .= $part . $editorConfigConfiguration->getNewLine();
} else {
$part = trim($part);
$output .= $this->getPaddedString($part) . $editorConfigConfiguration->getNewline();
$output .= $this->getPaddedString($part) . $editorConfigConfiguration->getNewLine();
}

$this->runPost($part);
Expand Down
4 changes: 2 additions & 2 deletions packages/FileSystemRector/ValueObject/AddedFileWithNodes.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
final class AddedFileWithNodes implements AddedFileInterface, FileWithNodesInterface
{
/**
* @param Node[] $nodes
* @param Node\Stmt[] $nodes
*/
public function __construct(
private string $filePath,
Expand All @@ -25,7 +25,7 @@ public function getFilePath(): string
}

/**
* @return Node[]
* @return Node\Stmt[]
*/
public function getNodes(): array
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,18 @@

use PhpParser\Node;

/**
* @template TNode as Node
*/
interface NodeNameResolverInterface
{
/**
* @return class-string<Node>
* @return class-string<TNode>
*/
public function getNode(): string;

/**
* @param TNode $node
*/
public function resolve(Node $node): ?string;
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public function reportInvalidNodeForName(MethodCall | StaticCall $node): void
$backtrace = debug_backtrace();
$rectorBacktrace = $this->matchRectorBacktraceCall($backtrace);

if ($rectorBacktrace) {
if ($rectorBacktrace !== null) {
// issues to find the file in prefixed
if (file_exists($rectorBacktrace[self::FILE])) {
$smartFileInfo = new SmartFileInfo($rectorBacktrace[self::FILE]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@
use Rector\NodeNameResolver\NodeNameResolver;
use Symfony\Contracts\Service\Attribute\Required;

/**
* @implements NodeNameResolverInterface<ClassConstFetch>
*/
final class ClassConstFetchNameResolver implements NodeNameResolverInterface
{
private NodeNameResolver $nodeNameResolver;

#[Required]
public function autowireClassConstFetchNameResolver(NodeNameResolver $nodeNameResolver): void
public function autowire(NodeNameResolver $nodeNameResolver): void
{
$this->nodeNameResolver = $nodeNameResolver;
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return ClassConstFetch::class;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@
use Rector\NodeNameResolver\NodeNameResolver;
use Symfony\Contracts\Service\Attribute\Required;

/**
* @implements NodeNameResolverInterface<ClassConst>
*/
final class ClassConstNameResolver implements NodeNameResolverInterface
{
private NodeNameResolver $nodeNameResolver;

#[Required]
public function autowireClassConstNameResolver(NodeNameResolver $nodeNameResolver): void
public function autowire(NodeNameResolver $nodeNameResolver): void
{
$this->nodeNameResolver = $nodeNameResolver;
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return ClassConst::class;
Expand Down
11 changes: 5 additions & 6 deletions packages/NodeNameResolver/NodeNameResolver/ClassNameResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,31 @@
namespace Rector\NodeNameResolver\NodeNameResolver;

use PhpParser\Node;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassLike;
use Rector\NodeNameResolver\Contract\NodeNameResolverInterface;
use Rector\NodeNameResolver\NodeNameResolver;
use Symfony\Contracts\Service\Attribute\Required;

/**
* @implements NodeNameResolverInterface<ClassLike>
*/
final class ClassNameResolver implements NodeNameResolverInterface
{
private NodeNameResolver $nodeNameResolver;

#[Required]
public function autowireClassNameResolver(NodeNameResolver $nodeNameResolver): void
public function autowire(NodeNameResolver $nodeNameResolver): void
{
$this->nodeNameResolver = $nodeNameResolver;
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return ClassLike::class;
}

/**
* @param Class_ $node
* @param ClassLike $node
*/
public function resolve(Node $node): ?string
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
use PhpParser\Node\Expr\Empty_;
use Rector\NodeNameResolver\Contract\NodeNameResolverInterface;

/**
* @implements NodeNameResolverInterface<Empty_>
*/
final class EmptyNameResolver implements NodeNameResolverInterface
{
/**
* @return class-string<Node>
*/
public function getNode(): string
{
return Empty_::class;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@
use Rector\NodeNameResolver\Contract\NodeNameResolverInterface;
use Rector\NodeTypeResolver\Node\AttributeKey;

/**
* @implements NodeNameResolverInterface<FuncCall>
*/
final class FuncCallNameResolver implements NodeNameResolverInterface
{
public function __construct(
private ReflectionProvider $reflectionProvider
) {
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return FuncCall::class;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
use Rector\NodeNameResolver\Contract\NodeNameResolverInterface;
use Rector\NodeTypeResolver\Node\AttributeKey;

/**
* @implements NodeNameResolverInterface<Function_>
*/
final class FunctionNameResolver implements NodeNameResolverInterface
{
/**
* @return class-string<Node>
*/
public function getNode(): string
{
return Function_::class;
Expand All @@ -33,7 +33,7 @@ public function resolve(Node $node): ?string
}

$namespaceName = $scope->getNamespace();
if ($namespaceName) {
if ($namespaceName !== null) {
return $namespaceName . '\\' . $bareName;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@
use Rector\NodeNameResolver\Contract\NodeNameResolverInterface;
use Rector\NodeTypeResolver\Node\AttributeKey;

/**
* @implements NodeNameResolverInterface<Name>
*/
final class NameNameResolver implements NodeNameResolverInterface
{
public function __construct(
private FuncCallNameResolver $funcCallNameResolver
) {
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return Name::class;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@
use Rector\NodeNameResolver\NodeNameResolver;
use Symfony\Contracts\Service\Attribute\Required;

/**
* @implements NodeNameResolverInterface<Param>
*/
final class ParamNameResolver implements NodeNameResolverInterface
{
private NodeNameResolver $nodeNameResolver;

#[Required]
public function autowireParamNameResolver(NodeNameResolver $nodeNameResolver): void
public function autowire(NodeNameResolver $nodeNameResolver): void
{
$this->nodeNameResolver = $nodeNameResolver;
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return Param::class;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@
use Rector\NodeNameResolver\NodeNameResolver;
use Symfony\Contracts\Service\Attribute\Required;

/**
* @implements NodeNameResolverInterface<Property>
*/
final class PropertyNameResolver implements NodeNameResolverInterface
{
private NodeNameResolver $nodeNameResolver;

#[Required]
public function autowirePropertyNameResolver(NodeNameResolver $nodeNameResolver): void
public function autowire(NodeNameResolver $nodeNameResolver): void
{
$this->nodeNameResolver = $nodeNameResolver;
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return Property::class;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@
use Rector\NodeNameResolver\NodeNameResolver;
use Symfony\Contracts\Service\Attribute\Required;

/**
* @implements NodeNameResolverInterface<Use_>
*/
final class UseNameResolver implements NodeNameResolverInterface
{
private NodeNameResolver $nodeNameResolver;

#[Required]
public function autowireUseNameResolver(NodeNameResolver $nodeNameResolver): void
public function autowire(NodeNameResolver $nodeNameResolver): void
{
$this->nodeNameResolver = $nodeNameResolver;
}

/**
* @return class-string<Node>
*/
public function getNode(): string
{
return Use_::class;
Expand Down

0 comments on commit 21c4a84

Please sign in to comment.