Skip to content

RemoveParentDelegatingConstructorRector: could not process, this parameter does not have a default value #9592

@BacLuc

Description

@BacLuc

Bug Report

Subject Details
Rector version 2.3.0

Minimal PHP Code Causing Issue

https://github.com/ecamp/ecamp3/blob/bd3b615e246f5483ea304ca9d512e8530b8ee9b7/api/src/Repository/ContentNodeRepository.php

Error:

[ERROR] Could not process "/app/src/Repository/ActivityProgressLabelRepository.php" file, due to:
         "System error: "This parameter does not have a default value available"

         Stack trace:
         #0
         phar://vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/ReflectionParam
         eter.php(257): PHPStan\BetterReflection\Reflection\ReflectionParameter->getCompiledDefaultValue()
         #1
         phar://vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/Adapter/Reflect
         ionParameter.php(178): PHPStan\BetterReflection\Reflection\ReflectionParameter->getDefaultValue()
         #2 vendor/rector/rector/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php(218):
         PHPStan\BetterReflection\Reflection\Adapter\ReflectionParameter->getDefaultValue()
         #3 vendor/rector/rector/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php(201):
         Rector\DeadCode\Rector\ClassMethod\RemoveParentDelegatingConstructorRector->isDifferentDefaultValue(Object(Php
         Parser\Node\Expr\ClassConstFetch), Object(PHPStan\Reflection\Php\PhpMethodReflection), 1)
         #4 vendor/rector/rector/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php(109):
         Rector\DeadCode\Rector\ClassMethod\RemoveParentDelegatingConstructorRector->areConstructorAndParentParameterTy
         pesMatching(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Reflection\Php\PhpMethodReflection))
         #5 vendor/rector/rector/src/Rector/AbstractRector.php(112):
         Rector\DeadCode\Rector\ClassMethod\RemoveParentDelegatingConstructorRector->refactor(Object(PhpParser\Node\Stm
         t\ClassMethod))
         #6 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(165):
         Rector\Rector\AbstractRector->enterNode(Object(PhpParser\Node\Stmt\ClassMethod))
         #7 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #8 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(197):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_)
         )
         #9 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #10 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(197):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespa
         ce_))
         #11 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #12 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(197):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(Rector\PhpParser\Node\FileN
         ode))
         #13 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(60):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #14 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(53):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverse(Array)
         #15 vendor/rector/rector/src/Application/FileProcessor.php(96):
         Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse(Array)
         #16 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(178):
         Rector\Application\FileProcessor->processFile(Object(Rector\ValueObject\Application\File),
         Object(Rector\ValueObject\Configuration))
         #17 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(152):
         Rector\Application\ApplicationFileProcessor->processFile(Object(Rector\ValueObject\Application\File),
         Object(Rector\ValueObject\Configuration))
         #18 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(128):
         Rector\Application\ApplicationFileProcessor->processFiles(Array, Object(Rector\ValueObject\Configuration),
         Object(Closure), Object(Closure))
         #19 vendor/rector/rector/src/Console/Command/ProcessCommand.php(182):
         Rector\Application\ApplicationFileProcessor->run(Object(Rector\ValueObject\Configuration),
         Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput))
         #20 vendor/rector/rector/vendor/symfony/console/Command/Command.php(289):
         Rector\Console\Command\ProcessCommand->execute(Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvI
         nput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #21 vendor/rector/rector/vendor/symfony/console/Application.php(899):
         RectorPrefix202512\Symfony\Component\Console\Command\Command->run(Object(RectorPrefix202512\Symfony\Component\
         Console\Input\ArgvInput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #22 vendor/rector/rector/vendor/symfony/console/Application.php(279):
         RectorPrefix202512\Symfony\Component\Console\Application->doRunCommand(Object(Rector\Console\Command\ProcessCo
         mmand), Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput),
         Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #23 vendor/rector/rector/src/Console/ConsoleApplication.php(60):
         RectorPrefix202512\Symfony\Component\Console\Application->doRun(Object(RectorPrefix202512\Symfony\Component\Co
         nsole\Input\ArgvInput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #24 vendor/rector/rector/vendor/symfony/console/Application.php(162):
         Rector\Console\ConsoleApplication->doRun(Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput),
         Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #25 vendor/rector/rector/bin/rector.php(130): RectorPrefix202512\Symfony\Component\Console\Application->run()
         #26 vendor/rector/rector/bin/rector(5): require_once('vendor/rec...')
         #27 vendor/bin/rector(119): include('vendor/rec...')
         #28 {main}". On line: 172



 [ERROR] Could not process "/app/src/Repository/ContentNodeRepository.php" file, due to:
         "System error: "This parameter does not have a default value available"

         Stack trace:
         #0
         phar://vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/ReflectionParam
         eter.php(257): PHPStan\BetterReflection\Reflection\ReflectionParameter->getCompiledDefaultValue()
         #1
         phar://vendor/phpstan/phpstan/phpstan.phar/vendor/ondrejmirtes/better-reflection/src/Reflection/Adapter/Reflect
         ionParameter.php(178): PHPStan\BetterReflection\Reflection\ReflectionParameter->getDefaultValue()
         #2 vendor/rector/rector/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php(218):
         PHPStan\BetterReflection\Reflection\Adapter\ReflectionParameter->getDefaultValue()
         #3 vendor/rector/rector/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php(201):
         Rector\DeadCode\Rector\ClassMethod\RemoveParentDelegatingConstructorRector->isDifferentDefaultValue(Object(Php
         Parser\Node\Expr\ClassConstFetch), Object(PHPStan\Reflection\Php\PhpMethodReflection), 1)
         #4 vendor/rector/rector/rules/DeadCode/Rector/ClassMethod/RemoveParentDelegatingConstructorRector.php(109):
         Rector\DeadCode\Rector\ClassMethod\RemoveParentDelegatingConstructorRector->areConstructorAndParentParameterTy
         pesMatching(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Reflection\Php\PhpMethodReflection))
         #5 vendor/rector/rector/src/Rector/AbstractRector.php(112):
         Rector\DeadCode\Rector\ClassMethod\RemoveParentDelegatingConstructorRector->refactor(Object(PhpParser\Node\Stm
         t\ClassMethod))
         #6 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(165):
         Rector\Rector\AbstractRector->enterNode(Object(PhpParser\Node\Stmt\ClassMethod))
         #7 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #8 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(197):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_)
         )
         #9 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #10 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(197):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Namespa
         ce_))
         #11 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(78):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #12 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(197):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseNode(Object(Rector\PhpParser\Node\FileN
         ode))
         #13 vendor/rector/rector/src/PhpParser/NodeTraverser/AbstractImmutableNodeTraverser.php(60):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverseArray(Array)
         #14 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(53):
         Rector\PhpParser\NodeTraverser\AbstractImmutableNodeTraverser->traverse(Array)
         #15 vendor/rector/rector/src/Application/FileProcessor.php(96):
         Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse(Array)
         #16 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(178):
         Rector\Application\FileProcessor->processFile(Object(Rector\ValueObject\Application\File),
         Object(Rector\ValueObject\Configuration))
         #17 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(152):
         Rector\Application\ApplicationFileProcessor->processFile(Object(Rector\ValueObject\Application\File),
         Object(Rector\ValueObject\Configuration))
         #18 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(128):
         Rector\Application\ApplicationFileProcessor->processFiles(Array, Object(Rector\ValueObject\Configuration),
         Object(Closure), Object(Closure))
         #19 vendor/rector/rector/src/Console/Command/ProcessCommand.php(182):
         Rector\Application\ApplicationFileProcessor->run(Object(Rector\ValueObject\Configuration),
         Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput))
         #20 vendor/rector/rector/vendor/symfony/console/Command/Command.php(289):
         Rector\Console\Command\ProcessCommand->execute(Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvI
         nput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #21 vendor/rector/rector/vendor/symfony/console/Application.php(899):
         RectorPrefix202512\Symfony\Component\Console\Command\Command->run(Object(RectorPrefix202512\Symfony\Component\
         Console\Input\ArgvInput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #22 vendor/rector/rector/vendor/symfony/console/Application.php(279):
         RectorPrefix202512\Symfony\Component\Console\Application->doRunCommand(Object(Rector\Console\Command\ProcessCo
         mmand), Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput),
         Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #23 vendor/rector/rector/src/Console/ConsoleApplication.php(60):
         RectorPrefix202512\Symfony\Component\Console\Application->doRun(Object(RectorPrefix202512\Symfony\Component\Co
         nsole\Input\ArgvInput), Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #24 vendor/rector/rector/vendor/symfony/console/Application.php(162):
         Rector\Console\ConsoleApplication->doRun(Object(RectorPrefix202512\Symfony\Component\Console\Input\ArgvInput),
         Object(RectorPrefix202512\Symfony\Component\Console\Output\ConsoleOutput))
         #25 vendor/rector/rector/bin/rector.php(130): RectorPrefix202512\Symfony\Component\Console\Application->run()
         #26 vendor/rector/rector/bin/rector(5): require_once('vendor/rec...')
         #27 vendor/bin/rector(119): include('vendor/rec...')
         #28 {main}". On line: 172

Expected Behaviour

No error

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions