Updated Rector to commit 49314dc3d4

49314dc3d4 [DX] Add PhpUpgradeImplementsMinPhpVersionInterfaceRule (#910)
This commit is contained in:
Tomas Votruba 2021-09-24 14:11:08 +00:00
parent 15e2e7eaa6
commit 6dcaaef071
78 changed files with 816 additions and 239 deletions

View File

@ -6,13 +6,19 @@ namespace Rector\Php52\Rector\Property;
use PhpParser\Node;
use PhpParser\Node\Stmt\Property;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php52\Rector\Property\VarToPublicPropertyRector\VarToPublicPropertyRectorTest
*/
final class VarToPublicPropertyRector extends \Rector\Core\Rector\AbstractRector
final class VarToPublicPropertyRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::PROPERTY_MODIFIER;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change property modifier from `var` to `public`', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -12,14 +12,20 @@ use PhpParser\Node\Stmt\Switch_;
use PHPStan\Type\Constant\ConstantIntegerType;
use PHPStan\Type\ConstantType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://stackoverflow.com/a/12349889/1348344
* @see \Rector\Tests\Php52\Rector\Switch_\ContinueToBreakInSwitchRector\ContinueToBreakInSwitchRectorTest
*/
final class ContinueToBreakInSwitchRector extends \Rector\Core\Rector\AbstractRector
final class ContinueToBreakInSwitchRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::CONTINUE_TO_BREAK;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Use break instead of continue in switch statements', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,14 +8,20 @@ use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\AssignRef;
use PhpParser\Node\Expr\New_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see https://3v4l.org/UJN6H
* @see \Rector\Tests\Php53\Rector\AssignRef\ClearReturnNewByReferenceRector\ClearReturnNewByReferenceRectorTest
*/
final class ClearReturnNewByReferenceRector extends \Rector\Core\Rector\AbstractRector
final class ClearReturnNewByReferenceRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_REFERENCE_IN_NEW;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Remove reference from "$assign = &new Value;"', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,18 +6,24 @@ namespace Rector\Php53\Rector\Variable;
use PhpParser\Node;
use PhpParser\Node\Expr\Variable;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php53\Rector\Variable\ReplaceHttpServerVarsByServerRector\ReplaceHttpServerVarsByServerRectorTest
* @changelog https://blog.tigertech.net/posts/php-5-3-http-server-vars/
*/
final class ReplaceHttpServerVarsByServerRector extends \Rector\Core\Rector\AbstractRector
final class ReplaceHttpServerVarsByServerRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var array<string, string>
*/
private const VARIABLE_RENAME_MAP = ['HTTP_SERVER_VARS' => '_SERVER', 'HTTP_GET_VARS' => '_GET', 'HTTP_POST_VARS' => '_POST', 'HTTP_POST_FILES' => '_FILES', 'HTTP_SESSION_VARS' => '_SESSION', 'HTTP_ENV_VARS' => '_ENV', 'HTTP_COOKIE_VARS' => '_COOKIE'];
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::SERVER_VAR;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Rename old $HTTP_* variable names to new replacements', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('$serverVars = $HTTP_SERVER_VARS;', '$serverVars = $_SERVER;')]);

View File

@ -11,6 +11,8 @@ use PhpParser\Node\Stmt\Continue_;
use PHPStan\Type\Constant\ConstantIntegerType;
use PHPStan\Type\ConstantType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -18,8 +20,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php54\Rector\Break_\RemoveZeroBreakContinueRector\RemoveZeroBreakContinueRectorTest
*/
final class RemoveZeroBreakContinueRector extends \Rector\Core\Rector\AbstractRector
final class RemoveZeroBreakContinueRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_ZERO_BREAK;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Remove 0 from break and continue', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,13 +6,19 @@ namespace Rector\Php54\Rector\FuncCall;
use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php54\Rector\FuncCall\RemoveReferenceFromCallRector\RemoveReferenceFromCallRectorTest
*/
final class RemoveReferenceFromCallRector extends \Rector\Core\Rector\AbstractRector
final class RemoveReferenceFromCallRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_REFERENCE_IN_ARG;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Remove & from function and method calls', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -9,8 +9,10 @@ use PhpParser\Node\Expr\Closure;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php55\RegexMatcher;
use Rector\Php72\NodeFactory\AnonymousFunctionFactory;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -18,7 +20,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php55\Rector\FuncCall\PregReplaceEModifierRector\PregReplaceEModifierRectorTest
*/
final class PregReplaceEModifierRector extends \Rector\Core\Rector\AbstractRector
final class PregReplaceEModifierRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php72\NodeFactory\AnonymousFunctionFactory
@ -33,6 +35,10 @@ final class PregReplaceEModifierRector extends \Rector\Core\Rector\AbstractRecto
$this->anonymousFunctionFactory = $anonymousFunctionFactory;
$this->regexMatcher = $regexMatcher;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::PREG_REPLACE_CALLBACK_E_MODIFIER;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('The /e modifier is no longer supported, use preg_replace_callback instead', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -15,7 +15,9 @@ use PhpParser\Node\Stmt\Expression;
use PhpParser\Node\Stmt\Function_;
use Rector\Core\NodeAnalyzer\InlineHTMLAnalyzer;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php56\NodeAnalyzer\UndefinedVariableResolver;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -24,7 +26,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php56\Rector\FunctionLike\AddDefaultValueForUndefinedVariableRector\AddDefaultValueForUndefinedVariableRectorTest
*/
final class AddDefaultValueForUndefinedVariableRector extends \Rector\Core\Rector\AbstractRector
final class AddDefaultValueForUndefinedVariableRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -43,6 +45,10 @@ final class AddDefaultValueForUndefinedVariableRector extends \Rector\Core\Recto
$this->undefinedVariableResolver = $undefinedVariableResolver;
$this->inlineHTMLAnalyzer = $inlineHTMLAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::REQUIRE_DEFAULT_VALUE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Adds default value for undefined variable', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,6 +8,8 @@ use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\List_;
use PHPStan\Type\StringType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -16,12 +18,16 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
* @changelog https://stackoverflow.com/a/47965344/1348344
* @see \Rector\Tests\Php70\Rector\Assign\ListSplitStringRector\ListSplitStringRectorTest
*/
final class ListSplitStringRector extends \Rector\Core\Rector\AbstractRector
final class ListSplitStringRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('list() cannot split string directly anymore, use str_split()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('list($foo) = "string";', 'list($foo) = str_split("string");')]);
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_LIST_SPLIT_STRING;
}
/**
* @return array<class-string<Node>>
*/

View File

@ -7,7 +7,9 @@ use PhpParser\Node;
use PhpParser\Node\Stmt\Break_;
use PhpParser\Node\Stmt\Return_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeNestingScope\ContextAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -16,7 +18,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
* @see https://3v4l.org/Qtelt
* @see \Rector\Tests\Php70\Rector\Break_\BreakNotInLoopOrSwitchToReturnRector\BreakNotInLoopOrSwitchToReturnRectorTest
*/
final class BreakNotInLoopOrSwitchToReturnRector extends \Rector\Core\Rector\AbstractRector
final class BreakNotInLoopOrSwitchToReturnRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\NodeNestingScope\ContextAnalyzer
@ -26,6 +28,10 @@ final class BreakNotInLoopOrSwitchToReturnRector extends \Rector\Core\Rector\Abs
{
$this->contextAnalyzer = $contextAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_BREAK_OUTSIDE_LOOP;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Convert break outside for/foreach/switch context to return', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -16,15 +16,17 @@ use PHPStan\Analyser\Scope;
use PHPStan\Reflection\ClassReflection;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Php70\NodeAnalyzer\Php4ConstructorClassMethodAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://wiki.php.net/rfc/remove_php4_constructors
* @see \Rector\Tests\Php70\Rector\ClassMethod\Php4ConstructorRector\Php4ConstructorRectorTest
*/
final class Php4ConstructorRector extends \Rector\Core\Rector\AbstractRector
final class Php4ConstructorRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php70\NodeAnalyzer\Php4ConstructorClassMethodAnalyzer
@ -34,6 +36,10 @@ final class Php4ConstructorRector extends \Rector\Core\Rector\AbstractRector
{
$this->php4ConstructorClassMethodAnalyzer = $php4ConstructorClassMethodAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_PHP4_CONSTRUCTOR;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes PHP 4 style constructor to __construct.', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,17 +7,23 @@ use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php70\Rector\FuncCall\CallUserMethodRector\CallUserMethodRectorTest
*/
final class CallUserMethodRector extends \Rector\Core\Rector\AbstractRector
final class CallUserMethodRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var array<string, string>
*/
private const OLD_TO_NEW_FUNCTIONS = ['call_user_method' => 'call_user_func', 'call_user_method_array' => 'call_user_func_array'];
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_CALL_USER_METHOD;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes call_user_method()/call_user_method_array() to call_user_func()/call_user_func_array()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('call_user_method($method, $obj, "arg1", "arg2");', 'call_user_func(array(&$obj, "method"), "arg1", "arg2");')]);

View File

@ -15,8 +15,10 @@ use PhpParser\Node\Name;
use PhpParser\Node\Scalar\LNumber;
use PhpParser\Node\Scalar\String_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Php70\EregToPcreTransformer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -24,7 +26,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php70\Rector\FuncCall\EregToPregMatchRector\EregToPregMatchRectorTest
*/
final class EregToPregMatchRector extends \Rector\Core\Rector\AbstractRector
final class EregToPregMatchRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var array<string, string>
@ -38,6 +40,10 @@ final class EregToPregMatchRector extends \Rector\Core\Rector\AbstractRector
{
$this->eregToPcreTransformer = $eregToPcreTransformer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_EREG_FUNCTION;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes ereg*() to preg*() calls', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('ereg("hi")', 'preg_match("#hi#");')]);

View File

@ -22,10 +22,12 @@ use PHPStan\Reflection\ParameterReflection;
use PHPStan\Type\MixedType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Naming\Naming\VariableNaming;
use Rector\NodeNestingScope\ParentScopeFinder;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Php70\ValueObject\VariableAssignPair;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -33,7 +35,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php70\Rector\FuncCall\NonVariableToVariableOnFunctionCallRector\NonVariableToVariableOnFunctionCallRectorTest
*/
final class NonVariableToVariableOnFunctionCallRector extends \Rector\Core\Rector\AbstractRector
final class NonVariableToVariableOnFunctionCallRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Naming\Naming\VariableNaming
@ -57,6 +59,10 @@ final class NonVariableToVariableOnFunctionCallRector extends \Rector\Core\Recto
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Transform non variable like arguments to variable where a function or method expects an argument passed by reference', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('reset(a());', '$a = a(); reset($a);')]);
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::VARIABLE_ON_FUNC_CALL;
}
/**
* @return array<class-string<Node>>
*/

View File

@ -7,13 +7,15 @@ use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see https://3v4l.org/F5GE8
* @see \Rector\Tests\Php70\Rector\FuncCall\RenameMktimeWithoutArgsToTimeRector\RenameMktimeWithoutArgsToTimeRectorTest
*/
final class RenameMktimeWithoutArgsToTimeRector extends \Rector\Core\Rector\AbstractRector
final class RenameMktimeWithoutArgsToTimeRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
@ -39,6 +41,10 @@ class SomeClass
CODE_SAMPLE
)]);
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_MKTIME_WITHOUT_ARG;
}
/**
* @return array<class-string<Node>>
*/

View File

@ -8,13 +8,15 @@ use PhpParser\Node\Expr\ArrayItem;
use PhpParser\Node\Expr\List_;
use PhpParser\Node\Expr\Variable;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.list
* @see \Rector\Tests\Php70\Rector\List_\EmptyListRector\EmptyListRectorTest
*/
final class EmptyListRector extends \Rector\Core\Rector\AbstractRector
final class EmptyListRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
@ -26,6 +28,10 @@ CODE_SAMPLE
CODE_SAMPLE
)]);
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_EMPTY_LIST;
}
/**
* @return array<class-string<Node>>
*/

View File

@ -11,15 +11,17 @@ use PHPStan\Reflection\Php\PhpMethodReflection;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeCollector\StaticAnalyzer;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see https://3v4l.org/rkiSC
* @see \Rector\Tests\Php70\Rector\MethodCall\ThisCallOnStaticMethodToStaticCallRector\ThisCallOnStaticMethodToStaticCallRectorTest
*/
final class ThisCallOnStaticMethodToStaticCallRector extends \Rector\Core\Rector\AbstractRector
final class ThisCallOnStaticMethodToStaticCallRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\NodeCollector\StaticAnalyzer
@ -34,6 +36,10 @@ final class ThisCallOnStaticMethodToStaticCallRector extends \Rector\Core\Rector
$this->staticAnalyzer = $staticAnalyzer;
$this->reflectionResolver = $reflectionResolver;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STATIC_CALL;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes $this->call() to static method to static call', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -14,8 +14,10 @@ use PHPStan\Reflection\ReflectionProvider;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeCollector\ScopeResolver\ParentClassScopeResolver;
use Rector\NodeCollector\StaticAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use ReflectionMethod;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
@ -24,7 +26,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php70\Rector\StaticCall\StaticCallOnNonStaticToInstanceCallRector\StaticCallOnNonStaticToInstanceCallRectorTest
*/
final class StaticCallOnNonStaticToInstanceCallRector extends \Rector\Core\Rector\AbstractRector
final class StaticCallOnNonStaticToInstanceCallRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\NodeCollector\StaticAnalyzer
@ -49,6 +51,10 @@ final class StaticCallOnNonStaticToInstanceCallRector extends \Rector\Core\Recto
$this->reflectionResolver = $reflectionResolver;
$this->parentClassScopeResolver = $parentClassScopeResolver;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::INSTANCE_CALL;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes static call to instance call, where not useful', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,7 +7,9 @@ use PhpParser\Node;
use PhpParser\Node\Stmt\Case_;
use PhpParser\Node\Stmt\Switch_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -17,8 +19,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php70\Rector\Switch_\ReduceMultipleDefaultSwitchRector\ReduceMultipleDefaultSwitchRectorTest
*/
final class ReduceMultipleDefaultSwitchRector extends \Rector\Core\Rector\AbstractRector
final class ReduceMultipleDefaultSwitchRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_MULTIPLE_DEFAULT_SWITCH;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Remove first default switch, that is ignored', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,14 +7,20 @@ use PhpParser\Node;
use PhpParser\Node\Expr\PropertyFetch;
use PhpParser\Node\Expr\Variable;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php70\Rector\Variable\WrapVariableVariableNameInCurlyBracesRector\WrapVariableVariableNameInCurlyBracesRectorTest
* @changelog https://www.php.net/manual/en/language.variables.variable.php
*/
final class WrapVariableVariableNameInCurlyBracesRector extends \Rector\Core\Rector\AbstractRector
final class WrapVariableVariableNameInCurlyBracesRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::WRAP_VARIABLE_VARIABLE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Ensure variable variables are wrapped in curly braces', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -14,7 +14,9 @@ use PhpParser\Node\Expr\Variable;
use PhpParser\Node\Scalar\String_;
use PhpParser\Node\Stmt\Property;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -22,8 +24,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php71\Rector\Assign\AssignArrayToStringRector\AssignArrayToStringRectorTest
*/
final class AssignArrayToStringRector extends \Rector\Core\Rector\AbstractRector
final class AssignArrayToStringRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_ASSIGN_ARRAY_TO_STRING;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('String cannot be turned into array by assignment anymore', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -15,6 +15,8 @@ use PhpParser\Node\Scalar\MagicConst\Line;
use PhpParser\Node\Scalar\String_;
use PHPStan\Type\Constant\ConstantStringType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -22,8 +24,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
* @see https://3v4l.org/ObNQZ
* @see \Rector\Tests\Php71\Rector\BinaryOp\BinaryOpBetweenNumberAndStringRector\BinaryOpBetweenNumberAndStringRectorTest
*/
final class BinaryOpBetweenNumberAndStringRector extends \Rector\Core\Rector\AbstractRector
final class BinaryOpBetweenNumberAndStringRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::BINARY_OP_NUMBER_STRING;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change binary operation between some number + string to PHP 7.1 compatible version', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -10,12 +10,13 @@ use PHPStan\Reflection\ReflectionProvider;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php71\IsArrayAndDualCheckToAble;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php71\Rector\BooleanOr\IsIterableRector\IsIterableRectorTest
*/
final class IsIterableRector extends \Rector\Core\Rector\AbstractRector
final class IsIterableRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php71\IsArrayAndDualCheckToAble
@ -30,6 +31,10 @@ final class IsIterableRector extends \Rector\Core\Rector\AbstractRector
$this->isArrayAndDualCheckToAble = $isArrayAndDualCheckToAble;
$this->reflectionProvider = $reflectionProvider;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::IS_ITERABLE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes is_array + Traversable check to is_iterable', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('is_array($foo) || $foo instanceof Traversable;', 'is_iterable($foo);')]);

View File

@ -24,6 +24,7 @@ use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\NodeTypeResolver\TypeAnalyzer\CountableTypeAnalyzer;
use Rector\Php71\NodeAnalyzer\CountableAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -31,7 +32,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php71\Rector\FuncCall\CountOnNullRector\CountOnNullRectorTest
*/
final class CountOnNullRector extends \Rector\Core\Rector\AbstractRector
final class CountOnNullRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -50,6 +51,10 @@ final class CountOnNullRector extends \Rector\Core\Rector\AbstractRector
$this->countableTypeAnalyzer = $countableTypeAnalyzer;
$this->countableAnalyzer = $countableAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::COUNT_ON_NULL;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes count() on null to safe ternary check', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -15,6 +15,8 @@ use PHPStan\Reflection\Type\UnionTypeMethodReflection;
use Rector\Core\NodeAnalyzer\VariadicAnalyzer;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -23,7 +25,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php71\Rector\FuncCall\RemoveExtraParametersRector\RemoveExtraParametersRectorTest
*/
final class RemoveExtraParametersRector extends \Rector\Core\Rector\AbstractRector
final class RemoveExtraParametersRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Core\NodeAnalyzer\VariadicAnalyzer
@ -38,6 +40,10 @@ final class RemoveExtraParametersRector extends \Rector\Core\Rector\AbstractRect
$this->variadicAnalyzer = $variadicAnalyzer;
$this->reflectionResolver = $reflectionResolver;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_EXTRA_PARAMETERS;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Remove extra parameters', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('strlen("asdf", 1);', 'strlen("asdf");')]);

View File

@ -9,7 +9,9 @@ use PhpParser\Node\Name;
use PhpParser\Node\Stmt\Namespace_;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -17,7 +19,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php71\Rector\Name\ReservedObjectRector\ReservedObjectRectorTest
*/
final class ReservedObjectRector extends \Rector\Core\Rector\AbstractRector implements \Rector\Core\Contract\Rector\ConfigurableRectorInterface
final class ReservedObjectRector extends \Rector\Core\Rector\AbstractRector implements \Rector\Core\Contract\Rector\ConfigurableRectorInterface, \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -27,6 +29,10 @@ final class ReservedObjectRector extends \Rector\Core\Rector\AbstractRector impl
* @var array<string, string>
*/
private $reservedKeywordsToReplacements = [];
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::RESERVED_OBJECT_KEYWORD;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes reserved "Object" name to "<Smart>Object" where <Smart> can be configured', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample(<<<'CODE_SAMPLE'

View File

@ -12,7 +12,9 @@ use PhpParser\Node\Stmt\Expression;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\NodeManipulator\AssignManipulator;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -20,7 +22,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\Assign\ListEachRector\ListEachRectorTest
*/
final class ListEachRector extends \Rector\Core\Rector\AbstractRector
final class ListEachRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Core\NodeManipulator\AssignManipulator
@ -30,6 +32,10 @@ final class ListEachRector extends \Rector\Core\Rector\AbstractRector
{
$this->assignManipulator = $assignManipulator;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_EACH;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('each() function is deprecated, use key() and current() instead', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -13,18 +13,24 @@ use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Expr\List_;
use PhpParser\Node\Stmt\While_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php72\Rector\Assign\ReplaceEachAssignmentWithKeyCurrentRector\ReplaceEachAssignmentWithKeyCurrentRectorTest
*/
final class ReplaceEachAssignmentWithKeyCurrentRector extends \Rector\Core\Rector\AbstractRector
final class ReplaceEachAssignmentWithKeyCurrentRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
*/
private const KEY = 'key';
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_EACH_OUTSIDE_LOOP;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Replace each() assign outside loop', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -20,7 +20,9 @@ use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\Php\ReservedKeywordAnalyzer;
use Rector\Core\PhpParser\Parser\InlineCodeParser;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php72\NodeFactory\AnonymousFunctionFactory;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -28,7 +30,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\FuncCall\CreateFunctionToAnonymousFunctionRector\CreateFunctionToAnonymousFunctionRectorTest
*/
final class CreateFunctionToAnonymousFunctionRector extends \Rector\Core\Rector\AbstractRector
final class CreateFunctionToAnonymousFunctionRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Core\PhpParser\Parser\InlineCodeParser
@ -48,6 +50,10 @@ final class CreateFunctionToAnonymousFunctionRector extends \Rector\Core\Rector\
$this->anonymousFunctionFactory = $anonymousFunctionFactory;
$this->reservedKeywordAnalyzer = $reservedKeywordAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_CREATE_FUNCTION;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Use anonymous functions instead of deprecated create_function()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -12,7 +12,9 @@ use PhpParser\Node\Stmt\Class_;
use PHPStan\Analyser\Scope;
use PHPStan\Type\NullType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -20,8 +22,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\FuncCall\GetClassOnNullRector\GetClassOnNullRectorTest
*/
final class GetClassOnNullRector extends \Rector\Core\Rector\AbstractRector
final class GetClassOnNullRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_NULL_ON_GET_CLASS;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Null is no more allowed in get_class()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,7 +8,9 @@ use PhpParser\Node\Expr\BooleanNot;
use PhpParser\Node\Expr\FuncCall;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -16,8 +18,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\FuncCall\IsObjectOnIncompleteClassRector\IsObjectOnIncompleteClassRectorTest
*/
final class IsObjectOnIncompleteClassRector extends \Rector\Core\Rector\AbstractRector
final class IsObjectOnIncompleteClassRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::INVERTED_BOOL_IS_OBJECT_INCOMPLETE_CLASS;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Incomplete class returns inverted bool on is_object()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,7 +8,9 @@ use PhpParser\Node\Arg;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Expr\Variable;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -16,8 +18,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\FuncCall\ParseStrWithResultArgumentRector\ParseStrWithResultArgumentRectorTest
*/
final class ParseStrWithResultArgumentRector extends \Rector\Core\Rector\AbstractRector
final class ParseStrWithResultArgumentRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::RESULT_ARG_IN_PARSE_STR;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Use $result argument in parse_str() function', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,14 +8,16 @@ use PhpParser\Node\Expr\ConstFetch;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Scalar\String_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\TypeAnalyzer\StringTypeAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see https://3v4l.org/YiTeP
* @see \Rector\Tests\Php72\Rector\FuncCall\StringifyDefineRector\StringifyDefineRectorTest
*/
final class StringifyDefineRector extends \Rector\Core\Rector\AbstractRector
final class StringifyDefineRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\NodeTypeResolver\TypeAnalyzer\StringTypeAnalyzer
@ -25,6 +27,10 @@ final class StringifyDefineRector extends \Rector\Core\Rector\AbstractRector
{
$this->stringTypeAnalyzer = $stringTypeAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STRING_IN_FIRST_DEFINE_ARG;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Make first argument of define() string', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -10,6 +10,8 @@ use PhpParser\Node\Scalar\String_;
use PhpParser\Node\Stmt\Expression;
use PhpParser\Parser;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -17,7 +19,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\FuncCall\StringsAssertNakedRector\StringsAssertNakedRectorTest
*/
final class StringsAssertNakedRector extends \Rector\Core\Rector\AbstractRector
final class StringsAssertNakedRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \PhpParser\Parser
@ -27,6 +29,10 @@ final class StringsAssertNakedRector extends \Rector\Core\Rector\AbstractRector
{
$this->parser = $parser;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STRING_IN_ASSERT_ARG;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('String asserts must be passed directly to assert()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,14 +8,20 @@ use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\Cast\Unset_;
use PhpParser\Node\Stmt\Expression;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php72\Rector\Unset_\UnsetCastRector\UnsetCastRectorTest
*/
final class UnsetCastRector extends \Rector\Core\Rector\AbstractRector
final class UnsetCastRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_UNSET_CAST;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Removes (unset) cast', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -12,6 +12,8 @@ use PhpParser\Node\Stmt\Foreach_;
use PhpParser\Node\Stmt\While_;
use Rector\Core\NodeManipulator\AssignManipulator;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -19,7 +21,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php72\Rector\While_\WhileEachToForeachRector\WhileEachToForeachRectorTest
*/
final class WhileEachToForeachRector extends \Rector\Core\Rector\AbstractRector
final class WhileEachToForeachRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Core\NodeManipulator\AssignManipulator
@ -29,6 +31,10 @@ final class WhileEachToForeachRector extends \Rector\Core\Rector\AbstractRector
{
$this->assignManipulator = $assignManipulator;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_EACH;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('each() function is deprecated, use foreach() instead.', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -10,12 +10,13 @@ use PHPStan\Reflection\ReflectionProvider;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php71\IsArrayAndDualCheckToAble;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php73\Rector\BinaryOr\IsCountableRector\IsCountableRectorTest
*/
final class IsCountableRector extends \Rector\Core\Rector\AbstractRector
final class IsCountableRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php71\IsArrayAndDualCheckToAble

View File

@ -9,7 +9,9 @@ use PhpParser\Node\Name;
use PhpParser\Node\Name\FullyQualified;
use PHPStan\Reflection\ReflectionProvider;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -17,7 +19,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php73\Rector\ConstFetch\SensitiveConstantNameRector\SensitiveConstantNameRectorTest
*/
final class SensitiveConstantNameRector extends \Rector\Core\Rector\AbstractRector
final class SensitiveConstantNameRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @see http://php.net/manual/en/reserved.constants.php
@ -32,6 +34,10 @@ final class SensitiveConstantNameRector extends \Rector\Core\Rector\AbstractRect
{
$this->reflectionProvider = $reflectionProvider;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_INSENSITIVE_CONSTANT_NAME;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes case insensitive constants to sensitive ones.', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -10,14 +10,16 @@ use PhpParser\Node\Expr\StaticCall;
use PhpParser\Node\Scalar\String_;
use Rector\Core\Php\Regex\RegexPatternArgumentManipulator;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see https://3v4l.org/dRG8U
* @see \Rector\Tests\Php73\Rector\FuncCall\RegexDashEscapeRector\RegexDashEscapeRectorTest
*/
final class RegexDashEscapeRector extends \Rector\Core\Rector\AbstractRector
final class RegexDashEscapeRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -44,6 +46,10 @@ final class RegexDashEscapeRector extends \Rector\Core\Rector\AbstractRector
{
$this->regexPatternArgumentManipulator = $regexPatternArgumentManipulator;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::ESCAPE_DASH_IN_REGEX;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Escape - in some cases', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,6 +6,8 @@ namespace Rector\Php73\Rector\FuncCall;
use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -13,8 +15,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php73\Rector\FuncCall\SensitiveDefineRector\SensitiveDefineRectorTest
*/
final class SensitiveDefineRector extends \Rector\Core\Rector\AbstractRector
final class SensitiveDefineRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_INSENSITIVE_CONSTANT_DEFINE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes case insensitive constants to sensitive ones.', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,14 +7,16 @@ use PhpParser\Node;
use PhpParser\Node\Expr\Cast\String_;
use PhpParser\Node\Expr\FuncCall;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php73\NodeTypeAnalyzer\NodeTypeAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://wiki.php.net/rfc/deprecations_php_7_3#string_search_functions_with_integer_needle
* @see \Rector\Tests\Php73\Rector\FuncCall\StringifyStrNeedlesRector\StringifyStrNeedlesRectorTest
*/
final class StringifyStrNeedlesRector extends \Rector\Core\Rector\AbstractRector
final class StringifyStrNeedlesRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string[]
@ -28,6 +30,10 @@ final class StringifyStrNeedlesRector extends \Rector\Core\Rector\AbstractRector
{
$this->nodeTypeAnalyzer = $nodeTypeAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_INT_IN_STR_NEEDLES;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Makes needles explicit strings', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,14 +6,16 @@ namespace Rector\Php73\Rector\String_;
use PhpParser\Node;
use PhpParser\Node\Scalar\String_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes
* @see \Rector\Tests\Php73\Rector\String_\SensitiveHereNowDocRector\SensitiveHereNowDocRectorTest
*/
final class SensitiveHereNowDocRector extends \Rector\Core\Rector\AbstractRector
final class SensitiveHereNowDocRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -23,6 +25,10 @@ final class SensitiveHereNowDocRector extends \Rector\Core\Rector\AbstractRector
* @var string
*/
private const ATTRIBUTE_DOC_LABEL = 'docLabel';
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::SENSITIVE_HERE_NOW_DOC;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes heredoc/nowdoc that contains closing word to safe wrapper name', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,15 +6,17 @@ namespace Rector\Php74\Rector\ArrayDimFetch;
use PhpParser\Node;
use PhpParser\Node\Expr\ArrayDimFetch;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Php74\Tokenizer\FollowedByCurlyBracketAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://www.php.net/manual/en/migration74.deprecated.php
* @see \Rector\Tests\Php74\Rector\ArrayDimFetch\CurlyToSquareBracketArrayStringRector\CurlyToSquareBracketArrayStringRectorTest
*/
final class CurlyToSquareBracketArrayStringRector extends \Rector\Core\Rector\AbstractRector
final class CurlyToSquareBracketArrayStringRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php74\Tokenizer\FollowedByCurlyBracketAnalyzer
@ -24,6 +26,10 @@ final class CurlyToSquareBracketArrayStringRector extends \Rector\Core\Rector\Ab
{
$this->followedByCurlyBracketAnalyzer = $followedByCurlyBracketAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_CURLY_BRACKET_ARRAY_STRING;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change curly based array and string to square bracket', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,15 +6,21 @@ namespace Rector\Php74\Rector\Double;
use PhpParser\Node;
use PhpParser\Node\Expr\Cast\Double;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://wiki.php.net/rfc/deprecations_php_7_4
* @see \Rector\Tests\Php74\Rector\Double\RealToFloatTypeCastRector\RealToFloatTypeCastRectorTest
*/
final class RealToFloatTypeCastRector extends \Rector\Core\Rector\AbstractRector
final class RealToFloatTypeCastRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_REAL;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change deprecated (real) to (float)', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -8,6 +8,8 @@ use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -15,8 +17,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
* @see https://3v4l.org/69mpd
* @see \Rector\Tests\Php74\Rector\FuncCall\ArrayKeyExistsOnPropertyRector\ArrayKeyExistsOnPropertyRectorTest
*/
final class ArrayKeyExistsOnPropertyRector extends \Rector\Core\Rector\AbstractRector
final class ArrayKeyExistsOnPropertyRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::ARRAY_KEY_EXISTS_TO_PROPERTY_EXISTS;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change array_key_exists() on property to property_exists()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,6 +7,8 @@ use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -14,8 +16,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
* @see https://3v4l.org/9rLjE
* @see \Rector\Tests\Php74\Rector\FuncCall\FilterVarToAddSlashesRector\FilterVarToAddSlashesRectorTest
*/
final class FilterVarToAddSlashesRector extends \Rector\Core\Rector\AbstractRector
final class FilterVarToAddSlashesRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::FILTER_VAR_TO_ADD_SLASHES;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change filter_var() with slash escaping to addslashes()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -9,6 +9,8 @@ use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Scalar\LNumber;
use PHPStan\Type\IntegerType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -16,8 +18,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php74\Rector\FuncCall\MbStrrposEncodingArgumentPositionRector\MbStrrposEncodingArgumentPositionRectorTest
*/
final class MbStrrposEncodingArgumentPositionRector extends \Rector\Core\Rector\AbstractRector
final class MbStrrposEncodingArgumentPositionRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::CHANGE_MB_STRPOS_ARG_POSITION;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change mb_strrpos() encoding argument position', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample('mb_strrpos($text, "abc", "UTF-8");', 'mb_strrpos($text, "abc", 0, "UTF-8");')]);

View File

@ -10,13 +10,15 @@ use PhpParser\Node\Name;
use PhpParser\Node\Stmt\Function_;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @changelog https://github.com/php/php-src/pull/3941/files#diff-7e3a1a5df28a1cbd8c0fb6db68f243da
* @see \Rector\Tests\Php74\Rector\Function_\ReservedFnFunctionRector\ReservedFnFunctionRectorTest
*/
final class ReservedFnFunctionRector extends \Rector\Core\Rector\AbstractRector implements \Rector\Core\Contract\Rector\ConfigurableRectorInterface
final class ReservedFnFunctionRector extends \Rector\Core\Rector\AbstractRector implements \Rector\Core\Contract\Rector\ConfigurableRectorInterface, \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @api
@ -27,6 +29,10 @@ final class ReservedFnFunctionRector extends \Rector\Core\Rector\AbstractRector
* @var string[]
*/
private $reservedNamesToNewOnes = [];
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::RESERVED_FN_FUNCTION_NAME;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change fn() function name, since it will be reserved keyword', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample(<<<'CODE_SAMPLE'

View File

@ -13,7 +13,9 @@ use PHPStan\Analyser\Scope;
use PHPStan\Type\ObjectType;
use PHPStan\Type\UnionType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -24,7 +26,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php74\Rector\MethodCall\ChangeReflectionTypeToStringToGetNameRector\ChangeReflectionTypeToStringToGetNameRectorTest
*/
final class ChangeReflectionTypeToStringToGetNameRector extends \Rector\Core\Rector\AbstractRector
final class ChangeReflectionTypeToStringToGetNameRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -35,6 +37,10 @@ final class ChangeReflectionTypeToStringToGetNameRector extends \Rector\Core\Rec
* @var string[][]
*/
private $callsByVariable = [];
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::REFLECTION_TYPE_GETNAME;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change string calls on ReflectionType', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -11,6 +11,8 @@ use PhpParser\Node\Expr\StaticCall;
use PhpParser\Node\Name;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -18,8 +20,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
* @see https://3v4l.org/RTCUq
* @see \Rector\Tests\Php74\Rector\StaticCall\ExportToReflectionFunctionRector\ExportToReflectionFunctionRectorTest
*/
final class ExportToReflectionFunctionRector extends \Rector\Core\Rector\AbstractRector
final class ExportToReflectionFunctionRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::EXPORT_TO_REFLECTION_FUNCTION;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change export() to ReflectionFunction alternatives', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -6,13 +6,19 @@ namespace Rector\Php80\Rector\ClassMethod;
use PhpParser\Node;
use PhpParser\Node\Stmt\ClassMethod;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php80\Rector\ClassMethod\FinalPrivateToPrivateVisibilityRector\FinalPrivateToPrivateVisibilityRectorTest
*/
final class FinalPrivateToPrivateVisibilityRector extends \Rector\Core\Rector\AbstractRector
final class FinalPrivateToPrivateVisibilityRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::NO_FINAL_PRIVATE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Changes method visibility from final private to only private', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -12,9 +12,11 @@ use PHPStan\Reflection\ParametersAcceptorSelector;
use Rector\CodingStyle\Reflection\VendorLocationDetector;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\Reflection\ReflectionResolver;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Php80\NodeResolver\ArgumentSorter;
use Rector\Php80\NodeResolver\RequireOptionalParamResolver;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -22,7 +24,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\ClassMethod\OptionalParametersAfterRequiredRector\OptionalParametersAfterRequiredRectorTest
*/
final class OptionalParametersAfterRequiredRector extends \Rector\Core\Rector\AbstractRector
final class OptionalParametersAfterRequiredRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -51,6 +53,10 @@ final class OptionalParametersAfterRequiredRector extends \Rector\Core\Rector\Ab
$this->reflectionResolver = $reflectionResolver;
$this->vendorLocationDetector = $vendorLocationDetector;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::DEPRECATE_REQUIRED_PARAMETER_AFTER_OPTIONAL;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Move required parameters after optional ones', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,13 +7,19 @@ use PhpParser\Node;
use PhpParser\Node\Stmt\ClassMethod;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\Php80\Rector\ClassMethod\SetStateToStaticRector\SetStateToStaticRectorTest
*/
final class SetStateToStaticRector extends \Rector\Core\Rector\AbstractRector
final class SetStateToStaticRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STATIC_VISIBILITY_SET_STATE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Adds static visibility to __set_state() methods', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -15,11 +15,13 @@ use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover;
use Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer;
use Rector\Php80\NodeFactory\AttributeFlagFactory;
use Rector\PhpAttribute\Printer\PhpAttributeGroupFactory;
use Rector\PostRector\Collector\PropertyToAddCollector;
use Rector\PostRector\ValueObject\PropertyMetadata;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
use RectorPrefix20210924\Webmozart\Assert\Assert;
@ -31,7 +33,7 @@ use RectorPrefix20210924\Webmozart\Assert\Assert;
*
* @see \Rector\Tests\Php80\Rector\Class_\DoctrineAnnotationClassToAttributeRector\DoctrineAnnotationClassToAttributeRectorTest
*/
final class DoctrineAnnotationClassToAttributeRector extends \Rector\Core\Rector\AbstractRector implements \Rector\Core\Contract\Rector\ConfigurableRectorInterface
final class DoctrineAnnotationClassToAttributeRector extends \Rector\Core\Rector\AbstractRector implements \Rector\Core\Contract\Rector\ConfigurableRectorInterface, \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -86,6 +88,10 @@ final class DoctrineAnnotationClassToAttributeRector extends \Rector\Core\Rector
$this->phpAttributeAnalyzer = $phpAttributeAnalyzer;
$this->propertyToAddCollector = $propertyToAddCollector;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::ATTRIBUTES;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Refactor Doctrine @annotation annotated class to a PHP 8.0 attribute class', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample(<<<'CODE_SAMPLE'

View File

@ -10,7 +10,9 @@ use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\FamilyTree\Reflection\FamilyRelationsAnalyzer;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -18,7 +20,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\Class_\StringableForToStringRector\StringableForToStringRectorTest
*/
final class StringableForToStringRector extends \Rector\Core\Rector\AbstractRector
final class StringableForToStringRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string
@ -32,6 +34,10 @@ final class StringableForToStringRector extends \Rector\Core\Rector\AbstractRect
{
$this->familyRelationsAnalyzer = $familyRelationsAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STRINGABLE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Add `Stringable` interface to classes with `__toString()` method', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -13,9 +13,11 @@ use PhpParser\Node\Stmt\Foreach_;
use PhpParser\Node\Stmt\Function_;
use PhpParser\Node\Stmt\If_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\NodeNestingScope\ParentFinder;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Php80\NodeManipulator\TokenManipulator;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -23,7 +25,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\FuncCall\TokenGetAllToObjectRector\TokenGetAllToObjectRectorTest
*/
final class TokenGetAllToObjectRector extends \Rector\Core\Rector\AbstractRector
final class TokenGetAllToObjectRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php80\NodeManipulator\TokenManipulator
@ -38,6 +40,10 @@ final class TokenGetAllToObjectRector extends \Rector\Core\Rector\AbstractRector
$this->tokenManipulator = $tokenManipulator;
$this->parentFinder = $parentFinder;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::PHP_TOKEN;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Convert `token_get_all` to `PhpToken::tokenize`', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -14,8 +14,10 @@ use PhpParser\Node\Expr\UnaryMinus;
use PhpParser\Node\Scalar\LNumber;
use PhpParser\Node\Scalar\String_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Nette\NodeAnalyzer\BinaryOpAnalyzer;
use Rector\Nette\ValueObject\FuncCallAndExpr;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -23,7 +25,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\Identical\StrEndsWithRector\StrEndsWithRectorTest
*/
final class StrEndsWithRector extends \Rector\Core\Rector\AbstractRector
final class StrEndsWithRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Nette\NodeAnalyzer\BinaryOpAnalyzer
@ -33,6 +35,10 @@ final class StrEndsWithRector extends \Rector\Core\Rector\AbstractRector
{
$this->binaryOpAnalyzer = $binaryOpAnalyzer;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STR_ENDS_WITH;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change helper functions to str_ends_with()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,8 +7,10 @@ use PhpParser\Node;
use PhpParser\Node\Expr\BinaryOp\Identical;
use PhpParser\Node\Expr\BinaryOp\NotIdentical;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php80\Contract\StrStartWithMatchAndRefactorInterface;
use Rector\Php80\ValueObject\StrStartsWith;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -19,7 +21,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\Identical\StrStartsWithRector\StrStartsWithRectorTest
*/
final class StrStartsWithRector extends \Rector\Core\Rector\AbstractRector
final class StrStartsWithRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php80\Contract\StrStartWithMatchAndRefactorInterface[]
@ -32,6 +34,10 @@ final class StrStartsWithRector extends \Rector\Core\Rector\AbstractRector
{
$this->strStartWithMatchAndRefactors = $strStartWithMatchAndRefactors;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STR_STARTS_WITH;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change helper functions to str_starts_with()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -10,6 +10,8 @@ use PhpParser\Node\Expr\BooleanNot;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -17,12 +19,16 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\NotIdentical\StrContainsRector\StrContainsRectorTest
*/
final class StrContainsRector extends \Rector\Core\Rector\AbstractRector
final class StrContainsRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var string[]
*/
private const OLD_STR_NAMES = ['strpos', 'strstr'];
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::STR_CONTAINS;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Replace strpos() !== false and strstr() with str_contains()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,6 +7,8 @@ use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Expr\Ternary;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -14,8 +16,12 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php80\Rector\Ternary\GetDebugTypeRector\GetDebugTypeRectorTest
*/
final class GetDebugTypeRector extends \Rector\Core\Rector\AbstractRector
final class GetDebugTypeRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::GET_DEBUG_TYPE;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Change ternary type resolve to get_debug_type()', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -7,7 +7,9 @@ use PhpParser\Node;
use PhpParser\Node\Stmt\Class_;
use PHPStan\Type\ObjectType;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php81\NodeFactory\EnumFactory;
use Rector\VersionBonding\Contract\MinPhpVersionInterface;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
@ -16,7 +18,7 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
*
* @see \Rector\Tests\Php81\Rector\Class_\SpatieEnumClassToEnumRector\SpatieEnumClassToEnumRectorTest
*/
final class SpatieEnumClassToEnumRector extends \Rector\Core\Rector\AbstractRector
final class SpatieEnumClassToEnumRector extends \Rector\Core\Rector\AbstractRector implements \Rector\VersionBonding\Contract\MinPhpVersionInterface
{
/**
* @var \Rector\Php81\NodeFactory\EnumFactory
@ -26,6 +28,10 @@ final class SpatieEnumClassToEnumRector extends \Rector\Core\Rector\AbstractRect
{
$this->enumFactory = $enumFactory;
}
public function provideMinPhpVersion() : int
{
return \Rector\Core\ValueObject\PhpVersionFeature::ENUM;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Refactor Spatie enum class to native Enum', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = 'ef779c9cedd02baccf36238c7909e15d7f416917';
public const PACKAGE_VERSION = '49314dc3d4918988d83270ab104e347a97e46d46';
/**
* @var string
*/
public const RELEASE_DATE = '2021-09-24 10:51:16';
public const RELEASE_DATE = '2021-09-24 14:25:49';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210924\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

View File

@ -5,6 +5,11 @@ namespace Rector\Core\ValueObject;
final class PhpVersion
{
/**
* @api
* @var int
*/
public const PHP_52 = 50200;
/**
* @api
* @var int

View File

@ -5,6 +5,22 @@ namespace Rector\Core\ValueObject;
final class PhpVersionFeature
{
/**
* @var int
*/
public const PROPERTY_MODIFIER = \Rector\Core\ValueObject\PhpVersion::PHP_52;
/**
* @var int
*/
public const CONTINUE_TO_BREAK = \Rector\Core\ValueObject\PhpVersion::PHP_52;
/**
* @var int
*/
public const NO_REFERENCE_IN_NEW = \Rector\Core\ValueObject\PhpVersion::PHP_53;
/**
* @var int
*/
public const SERVER_VAR = \Rector\Core\ValueObject\PhpVersion::PHP_53;
/**
* @var int
*/
@ -13,6 +29,14 @@ final class PhpVersionFeature
* @var int
*/
public const ELVIS_OPERATOR = \Rector\Core\ValueObject\PhpVersion::PHP_53;
/**
* @var int
*/
public const NO_ZERO_BREAK = \Rector\Core\ValueObject\PhpVersion::PHP_54;
/**
* @var int
*/
public const NO_REFERENCE_IN_ARG = \Rector\Core\ValueObject\PhpVersion::PHP_54;
/**
* @var int
*/
@ -22,10 +46,21 @@ final class PhpVersionFeature
* @var int
*/
public const CLASSNAME_CONSTANT = \Rector\Core\ValueObject\PhpVersion::PHP_55;
/*
* @var int
*/
/**
* @var int
*/
public const PREG_REPLACE_CALLBACK_E_MODIFIER = \Rector\Core\ValueObject\PhpVersion::PHP_55;
/**
* @var int
*/
public const EXP_OPERATOR = \Rector\Core\ValueObject\PhpVersion::PHP_56;
/**
* @var int
*/
public const REQUIRE_DEFAULT_VALUE = \Rector\Core\ValueObject\PhpVersion::PHP_56;
/**
* @var int
*/
@ -54,6 +89,54 @@ final class PhpVersionFeature
* @var int
*/
public const THROWABLE_TYPE = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_LIST_SPLIT_STRING = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_BREAK_OUTSIDE_LOOP = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_PHP4_CONSTRUCTOR = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_CALL_USER_METHOD = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_EREG_FUNCTION = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const VARIABLE_ON_FUNC_CALL = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_MKTIME_WITHOUT_ARG = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_EMPTY_LIST = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const STATIC_CALL = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const INSTANCE_CALL = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const NO_MULTIPLE_DEFAULT_SWITCH = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
public const WRAP_VARIABLE_VARIABLE = \Rector\Core\ValueObject\PhpVersion::PHP_70;
/**
* @var int
*/
@ -74,10 +157,62 @@ final class PhpVersionFeature
* @var int
*/
public const MULTI_EXCEPTION_CATCH = \Rector\Core\ValueObject\PhpVersion::PHP_71;
/**
* @var int
*/
public const NO_ASSIGN_ARRAY_TO_STRING = \Rector\Core\ValueObject\PhpVersion::PHP_71;
/**
* @var int
*/
public const BINARY_OP_NUMBER_STRING = \Rector\Core\ValueObject\PhpVersion::PHP_71;
/**
* @var int
*/
public const NO_EXTRA_PARAMETERS = \Rector\Core\ValueObject\PhpVersion::PHP_71;
/**
* @var int
*/
public const RESERVED_OBJECT_KEYWORD = \Rector\Core\ValueObject\PhpVersion::PHP_71;
/**
* @var int
*/
public const DEPRECATE_EACH = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const OBJECT_TYPE = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const NO_EACH_OUTSIDE_LOOP = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const DEPRECATE_CREATE_FUNCTION = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const NO_NULL_ON_GET_CLASS = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const INVERTED_BOOL_IS_OBJECT_INCOMPLETE_CLASS = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const RESULT_ARG_IN_PARSE_STR = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const STRING_IN_FIRST_DEFINE_ARG = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const STRING_IN_ASSERT_ARG = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
public const NO_UNSET_CAST = \Rector\Core\ValueObject\PhpVersion::PHP_72;
/**
* @var int
*/
@ -94,6 +229,26 @@ final class PhpVersionFeature
* @var int
*/
public const SETCOOKIE_ACCEPT_ARRAY_OPTIONS = \Rector\Core\ValueObject\PhpVersion::PHP_73;
/**
* @var int
*/
public const DEPRECATE_INSENSITIVE_CONSTANT_NAME = \Rector\Core\ValueObject\PhpVersion::PHP_73;
/**
* @var int
*/
public const ESCAPE_DASH_IN_REGEX = \Rector\Core\ValueObject\PhpVersion::PHP_73;
/**
* @var int
*/
public const DEPRECATE_INSENSITIVE_CONSTANT_DEFINE = \Rector\Core\ValueObject\PhpVersion::PHP_73;
/**
* @var int
*/
public const DEPRECATE_INT_IN_STR_NEEDLES = \Rector\Core\ValueObject\PhpVersion::PHP_73;
/**
* @var int
*/
public const SENSITIVE_HERE_NOW_DOC = \Rector\Core\ValueObject\PhpVersion::PHP_73;
/**
* @var int
*/
@ -119,6 +274,38 @@ final class PhpVersionFeature
* @var int
*/
public const ARRAY_SPREAD = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const DEPRECATE_CURLY_BRACKET_ARRAY_STRING = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const DEPRECATE_REAL = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const ARRAY_KEY_EXISTS_TO_PROPERTY_EXISTS = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const FILTER_VAR_TO_ADD_SLASHES = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const CHANGE_MB_STRPOS_ARG_POSITION = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const RESERVED_FN_FUNCTION_NAME = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const REFLECTION_TYPE_GETNAME = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
public const EXPORT_TO_REFLECTION_FUNCTION = \Rector\Core\ValueObject\PhpVersion::PHP_74;
/**
* @var int
*/
@ -131,6 +318,18 @@ final class PhpVersionFeature
* @var int
*/
public const STATIC_RETURN_TYPE = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const NO_FINAL_PRIVATE = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const DEPRECATE_REQUIRED_PARAMETER_AFTER_OPTIONAL = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const STATIC_VISIBILITY_SET_STATE = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
@ -157,6 +356,30 @@ final class PhpVersionFeature
* @var int
*/
public const ATTRIBUTES = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const STRINGABLE = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const PHP_TOKEN = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const STR_ENDS_WITH = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const STR_STARTS_WITH = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const STR_CONTAINS = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @var int
*/
public const GET_DEBUG_TYPE = \Rector\Core\ValueObject\PhpVersion::PHP_80;
/**
* @see https://wiki.php.net/rfc/noreturn_type
* @var int

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4::getLoader();
return ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4
class ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit5113d3d0aeb425fe26994222687c40b9::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit5113d3d0aeb425fe26994222687c40b9::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequirefccc2d78a7af3270906b0f2cf07b55c4($fileIdentifier, $file);
composerRequire5113d3d0aeb425fe26994222687c40b9($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequirefccc2d78a7af3270906b0f2cf07b55c4($fileIdentifier, $file)
function composerRequire5113d3d0aeb425fe26994222687c40b9($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4
class ComposerStaticInit5113d3d0aeb425fe26994222687c40b9
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -3858,9 +3858,9 @@ class ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitfccc2d78a7af3270906b0f2cf07b55c4::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit5113d3d0aeb425fe26994222687c40b9::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit5113d3d0aeb425fe26994222687c40b9::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit5113d3d0aeb425fe26994222687c40b9::$classMap;
}, null, ClassLoader::class);
}

View File

@ -3893,24 +3893,24 @@
},
{
"name": "symplify\/autowire-array-parameter",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/autowire-array-parameter.git",
"reference": "676c958d0a2d8860f261a169b9bf979fee77652b"
"reference": "00f3ba40645d603297aa6e83eebc703a5368f7d8"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/676c958d0a2d8860f261a169b9bf979fee77652b",
"reference": "676c958d0a2d8860f261a169b9bf979fee77652b",
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/00f3ba40645d603297aa6e83eebc703a5368f7d8",
"reference": "00f3ba40645d603297aa6e83eebc703a5368f7d8",
"shasum": ""
},
"require": {
"nette\/utils": "^3.2",
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/package-builder": "^9.5"
"symplify\/package-builder": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.65",
@ -3944,8 +3944,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-09-23T22:39:38+00:00",
"default-branch": true,
"time": "2021-09-23T15:34:54+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -3964,7 +3963,7 @@
],
"description": "Autowire array parameters for your Symfony applications",
"support": {
"source": "https:\/\/github.com\/symplify\/autowire-array-parameter\/tree\/main"
"source": "https:\/\/github.com\/symplify\/autowire-array-parameter\/tree\/9.4.65"
},
"funding": [
{
@ -3980,17 +3979,17 @@
},
{
"name": "symplify\/composer-json-manipulator",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/composer-json-manipulator.git",
"reference": "e3d17378e78a54af1ea1c24fecc534e439ec260e"
"reference": "796e18c014fd69c30bac044aa014dfb2fd62d70d"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/composer-json-manipulator\/zipball\/e3d17378e78a54af1ea1c24fecc534e439ec260e",
"reference": "e3d17378e78a54af1ea1c24fecc534e439ec260e",
"url": "https:\/\/api.github.com\/repos\/symplify\/composer-json-manipulator\/zipball\/796e18c014fd69c30bac044aa014dfb2fd62d70d",
"reference": "796e18c014fd69c30bac044aa014dfb2fd62d70d",
"shasum": ""
},
"require": {
@ -4000,8 +3999,8 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/filesystem": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.5",
"symplify\/smart-file-system": "^9.5"
"symplify\/package-builder": "^9.4.65",
"symplify\/smart-file-system": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.65",
@ -4034,8 +4033,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-09-23T22:39:36+00:00",
"default-branch": true,
"time": "2021-09-23T15:35:16+00:00",
"type": "symfony-bundle",
"extra": {
"branch-alias": {
@ -4054,7 +4052,7 @@
],
"description": "Package to load, merge and save composer.json file(s)",
"support": {
"source": "https:\/\/github.com\/symplify\/composer-json-manipulator\/tree\/main"
"source": "https:\/\/github.com\/symplify\/composer-json-manipulator\/tree\/9.4.65"
},
"funding": [
{
@ -4159,24 +4157,24 @@
},
{
"name": "symplify\/console-package-builder",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/console-package-builder.git",
"reference": "00a5a2aeba95d366e0da33076a60578288e35e2b"
"reference": "4c8af94aabed1e0d7a82c4b5bf3c331071728de3"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/console-package-builder\/zipball\/00a5a2aeba95d366e0da33076a60578288e35e2b",
"reference": "00a5a2aeba95d366e0da33076a60578288e35e2b",
"url": "https:\/\/api.github.com\/repos\/symplify\/console-package-builder\/zipball\/4c8af94aabed1e0d7a82c4b5bf3c331071728de3",
"reference": "4c8af94aabed1e0d7a82c4b5bf3c331071728de3",
"shasum": ""
},
"require": {
"php": ">=8.0",
"symfony\/console": "^5.3|^6.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.5"
"symplify\/symplify-kernel": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.65",
@ -4210,10 +4208,9 @@
"require-dev": {
"phpunit\/phpunit": "^9.5",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.5"
"symplify\/package-builder": "^9.4.65"
},
"time": "2021-09-23T15:37:32+00:00",
"default-branch": true,
"time": "2021-09-23T15:35:20+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4232,23 +4229,23 @@
],
"description": "Package to speed up building command line applications",
"support": {
"source": "https:\/\/github.com\/symplify\/console-package-builder\/tree\/main"
"source": "https:\/\/github.com\/symplify\/console-package-builder\/tree\/9.4.65"
},
"install-path": "..\/symplify\/console-package-builder"
},
{
"name": "symplify\/easy-testing",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/easy-testing.git",
"reference": "c6f76e106127247e145e55987ba6c1662c08504d"
"reference": "ea042f546ff37e680c9b278f0afd55c1eea5f3a4"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-testing\/zipball\/c6f76e106127247e145e55987ba6c1662c08504d",
"reference": "c6f76e106127247e145e55987ba6c1662c08504d",
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-testing\/zipball\/ea042f546ff37e680c9b278f0afd55c1eea5f3a4",
"reference": "ea042f546ff37e680c9b278f0afd55c1eea5f3a4",
"shasum": ""
},
"require": {
@ -4258,10 +4255,10 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/finder": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/console-package-builder": "^9.5",
"symplify\/package-builder": "^9.5",
"symplify\/smart-file-system": "^9.5",
"symplify\/symplify-kernel": "^9.5"
"symplify\/console-package-builder": "^9.4.65",
"symplify\/package-builder": "^9.4.65",
"symplify\/smart-file-system": "^9.4.65",
"symplify\/symplify-kernel": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.65",
@ -4292,8 +4289,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-09-23T22:39:38+00:00",
"default-branch": true,
"time": "2021-09-23T15:35:37+00:00",
"bin": [
"bin\/easy-testing"
],
@ -4315,7 +4311,7 @@
],
"description": "Testing made easy",
"support": {
"source": "https:\/\/github.com\/symplify\/easy-testing\/tree\/main"
"source": "https:\/\/github.com\/symplify\/easy-testing\/tree\/9.4.65"
},
"funding": [
{
@ -4331,17 +4327,17 @@
},
{
"name": "symplify\/package-builder",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/package-builder.git",
"reference": "b9a02693ee8273b597689484e37d312bb8107d6f"
"reference": "bfe01ebbee71422b6e4127e2ec9a5ff36196d5f9"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/package-builder\/zipball\/b9a02693ee8273b597689484e37d312bb8107d6f",
"reference": "b9a02693ee8273b597689484e37d312bb8107d6f",
"url": "https:\/\/api.github.com\/repos\/symplify\/package-builder\/zipball\/bfe01ebbee71422b6e4127e2ec9a5ff36196d5f9",
"reference": "bfe01ebbee71422b6e4127e2ec9a5ff36196d5f9",
"shasum": ""
},
"require": {
@ -4353,8 +4349,8 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/finder": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/easy-testing": "^9.5",
"symplify\/symplify-kernel": "^9.5"
"symplify\/easy-testing": "^9.4.65",
"symplify\/symplify-kernel": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.65",
@ -4387,8 +4383,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-09-23T22:39:38+00:00",
"default-branch": true,
"time": "2021-09-23T15:35:43+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4407,7 +4402,7 @@
],
"description": "Dependency Injection, Console and Kernel toolkit for Symplify packages.",
"support": {
"source": "https:\/\/github.com\/symplify\/package-builder\/tree\/main"
"source": "https:\/\/github.com\/symplify\/package-builder\/tree\/9.4.65"
},
"funding": [
{
@ -4684,17 +4679,17 @@
},
{
"name": "symplify\/smart-file-system",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/smart-file-system.git",
"reference": "90f472cfd7b3938e474c7c593ae865b21ac88972"
"reference": "a32b2ff6d63697d2df3818faa2ed0f7c64c755a4"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/smart-file-system\/zipball\/90f472cfd7b3938e474c7c593ae865b21ac88972",
"reference": "90f472cfd7b3938e474c7c593ae865b21ac88972",
"url": "https:\/\/api.github.com\/repos\/symplify\/smart-file-system\/zipball\/a32b2ff6d63697d2df3818faa2ed0f7c64c755a4",
"reference": "a32b2ff6d63697d2df3818faa2ed0f7c64c755a4",
"shasum": ""
},
"require": {
@ -4737,8 +4732,7 @@
"nette\/finder": "^2.5",
"phpunit\/phpunit": "^9.5"
},
"time": "2021-09-23T22:40:16+00:00",
"default-branch": true,
"time": "2021-09-23T15:36:13+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4757,7 +4751,7 @@
],
"description": "Sanitized FileInfo with safe getRealPath() and other handy methods",
"support": {
"source": "https:\/\/github.com\/symplify\/smart-file-system\/tree\/main"
"source": "https:\/\/github.com\/symplify\/smart-file-system\/tree\/9.4.65"
},
"funding": [
{
@ -4773,61 +4767,59 @@
},
{
"name": "symplify\/symfony-php-config",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/symfony-php-config.git",
"reference": "636fba1a19ab7755f98e5800d7fe175a9a1ac993"
"reference": "90c6f64626dd0ed78f048ed4a8ac52f0303e23d8"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/symfony-php-config\/zipball\/636fba1a19ab7755f98e5800d7fe175a9a1ac993",
"reference": "636fba1a19ab7755f98e5800d7fe175a9a1ac993",
"url": "https:\/\/api.github.com\/repos\/symplify\/symfony-php-config\/zipball\/90c6f64626dd0ed78f048ed4a8ac52f0303e23d8",
"reference": "90c6f64626dd0ed78f048ed4a8ac52f0303e23d8",
"shasum": ""
},
"require": {
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/package-builder": "^9.5",
"symplify\/symplify-kernel": "^9.5"
"symplify\/package-builder": "^9.4.65",
"symplify\/symplify-kernel": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.49",
"symplify\/astral": "<9.4.49",
"symplify\/autowire-array-parameter": "<9.4.49",
"symplify\/coding-standard": "<9.4.49",
"symplify\/composer-json-manipulator": "<9.4.49",
"symplify\/config-transformer": "<9.4.49",
"symplify\/console-color-diff": "<9.4.49",
"symplify\/console-package-builder": "<9.4.49",
"symplify\/easy-ci": "<9.4.49",
"symplify\/easy-coding-standard": "<9.4.49",
"symplify\/easy-hydrator": "<9.4.49",
"symplify\/easy-testing": "<9.4.49",
"symplify\/git-wrapper": "<9.4.49",
"symplify\/markdown-diff": "<9.4.49",
"symplify\/monorepo-builder": "<9.4.49",
"symplify\/php-config-printer": "<9.4.49",
"symplify\/phpstan-extensions": "<9.4.49",
"symplify\/phpstan-rules": "<9.4.49",
"symplify\/phpunit-upgrader": "<9.4.49",
"symplify\/psr4-switcher": "<9.4.49",
"symplify\/rule-doc-generator": "<9.4.49",
"symplify\/rule-doc-generator-contracts": "<9.4.49",
"symplify\/simple-php-doc-parser": "<9.4.49",
"symplify\/skipper": "<9.4.49",
"symplify\/smart-file-system": "<9.4.49",
"symplify\/symfony-static-dumper": "<9.4.49",
"symplify\/vendor-patches": "<9.4.49"
"symplify\/amnesia": "<9.4.65",
"symplify\/astral": "<9.4.65",
"symplify\/autowire-array-parameter": "<9.4.65",
"symplify\/coding-standard": "<9.4.65",
"symplify\/composer-json-manipulator": "<9.4.65",
"symplify\/config-transformer": "<9.4.65",
"symplify\/console-color-diff": "<9.4.65",
"symplify\/console-package-builder": "<9.4.65",
"symplify\/easy-ci": "<9.4.65",
"symplify\/easy-coding-standard": "<9.4.65",
"symplify\/easy-hydrator": "<9.4.65",
"symplify\/easy-testing": "<9.4.65",
"symplify\/git-wrapper": "<9.4.65",
"symplify\/markdown-diff": "<9.4.65",
"symplify\/monorepo-builder": "<9.4.65",
"symplify\/php-config-printer": "<9.4.65",
"symplify\/phpstan-extensions": "<9.4.65",
"symplify\/phpstan-rules": "<9.4.65",
"symplify\/psr4-switcher": "<9.4.65",
"symplify\/rule-doc-generator": "<9.4.65",
"symplify\/rule-doc-generator-contracts": "<9.4.65",
"symplify\/simple-php-doc-parser": "<9.4.65",
"symplify\/skipper": "<9.4.65",
"symplify\/smart-file-system": "<9.4.65",
"symplify\/symfony-static-dumper": "<9.4.65",
"symplify\/vendor-patches": "<9.4.65"
},
"require-dev": {
"phpstan\/phpstan": "^0.12.91",
"phpunit\/phpunit": "^9.5",
"symfony\/http-kernel": "^5.3|^6.0"
},
"time": "2021-08-31T15:49:41+00:00",
"default-branch": true,
"time": "2021-09-23T15:36:11+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4846,23 +4838,23 @@
],
"description": "Tools that easy work with Symfony PHP Configs",
"support": {
"source": "https:\/\/github.com\/symplify\/symfony-php-config\/tree\/main"
"source": "https:\/\/github.com\/symplify\/symfony-php-config\/tree\/9.4.65"
},
"install-path": "..\/symplify\/symfony-php-config"
},
{
"name": "symplify\/symplify-kernel",
"version": "dev-main",
"version_normalized": "dev-main",
"version": "9.4.65",
"version_normalized": "9.4.65.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/symplify-kernel.git",
"reference": "39d2d7a5eb2d4e18b3cbc46ee38309668b859331"
"reference": "f8596fede12724be135aa49694bfbadda1c419d8"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/symplify-kernel\/zipball\/39d2d7a5eb2d4e18b3cbc46ee38309668b859331",
"reference": "39d2d7a5eb2d4e18b3cbc46ee38309668b859331",
"url": "https:\/\/api.github.com\/repos\/symplify\/symplify-kernel\/zipball\/f8596fede12724be135aa49694bfbadda1c419d8",
"reference": "f8596fede12724be135aa49694bfbadda1c419d8",
"shasum": ""
},
"require": {
@ -4870,10 +4862,10 @@
"symfony\/console": "^5.3|^6.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/autowire-array-parameter": "^9.5",
"symplify\/composer-json-manipulator": "^9.5",
"symplify\/package-builder": "^9.5",
"symplify\/smart-file-system": "^9.5"
"symplify\/autowire-array-parameter": "^9.4.65",
"symplify\/composer-json-manipulator": "^9.4.65",
"symplify\/package-builder": "^9.4.65",
"symplify\/smart-file-system": "^9.4.65"
},
"conflict": {
"symplify\/amnesia": "<9.4.65",
@ -4904,8 +4896,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-09-23T22:40:15+00:00",
"default-branch": true,
"time": "2021-09-23T15:36:13+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4924,7 +4915,7 @@
],
"description": "Internal Kernel for Symplify packages",
"support": {
"source": "https:\/\/github.com\/symplify\/symplify-kernel\/tree\/main"
"source": "https:\/\/github.com\/symplify\/symplify-kernel\/tree\/9.4.65"
},
"install-path": "..\/symplify\/symplify-kernel"
},

File diff suppressed because one or more lines are too long

View File

@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
spl_autoload_call('RectorPrefix20210924\AutoloadIncluder');
}
if (!class_exists('ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4', false) && !interface_exists('ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4', false) && !trait_exists('ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4', false)) {
spl_autoload_call('RectorPrefix20210924\ComposerAutoloaderInitfccc2d78a7af3270906b0f2cf07b55c4');
if (!class_exists('ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9', false) && !interface_exists('ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9', false) && !trait_exists('ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9', false)) {
spl_autoload_call('RectorPrefix20210924\ComposerAutoloaderInit5113d3d0aeb425fe26994222687c40b9');
}
if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) {
spl_autoload_call('RectorPrefix20210924\Helmich\TypoScriptParser\Parser\AST\Statement');
@ -3311,9 +3311,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210924\print_node(...func_get_args());
}
}
if (!function_exists('composerRequirefccc2d78a7af3270906b0f2cf07b55c4')) {
function composerRequirefccc2d78a7af3270906b0f2cf07b55c4() {
return \RectorPrefix20210924\composerRequirefccc2d78a7af3270906b0f2cf07b55c4(...func_get_args());
if (!function_exists('composerRequire5113d3d0aeb425fe26994222687c40b9')) {
function composerRequire5113d3d0aeb425fe26994222687c40b9() {
return \RectorPrefix20210924\composerRequire5113d3d0aeb425fe26994222687c40b9(...func_get_args());
}
}
if (!function_exists('parseArgs')) {

View File

@ -6,7 +6,7 @@
"php": ">=8.0",
"nette\/utils": "^3.2",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/package-builder": "^9.5"
"symplify\/package-builder": "^9.4.65"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -10,8 +10,8 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/filesystem": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.5",
"symplify\/smart-file-system": "^9.5"
"symplify\/package-builder": "^9.4.65",
"symplify\/smart-file-system": "^9.4.65"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -6,11 +6,11 @@
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/console": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.5"
"symplify\/symplify-kernel": "^9.4.65"
},
"require-dev": {
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/package-builder": "^9.5",
"symplify\/package-builder": "^9.4.65",
"phpunit\/phpunit": "^9.5"
},
"autoload": {

View File

@ -13,10 +13,10 @@
"symfony\/http-kernel": "^5.3|^6.0",
"symfony\/console": "^5.3|^6.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/package-builder": "^9.5",
"symplify\/console-package-builder": "^9.5",
"symplify\/smart-file-system": "^9.5",
"symplify\/symplify-kernel": "^9.5"
"symplify\/package-builder": "^9.4.65",
"symplify\/console-package-builder": "^9.4.65",
"symplify\/smart-file-system": "^9.4.65",
"symplify\/symplify-kernel": "^9.4.65"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -10,8 +10,8 @@
"symfony\/dependency-injection": "^5.3|^6.0",
"symfony\/finder": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.5",
"symplify\/easy-testing": "^9.5",
"symplify\/symplify-kernel": "^9.4.65",
"symplify\/easy-testing": "^9.4.65",
"nette\/neon": "^3.2"
},
"require-dev": {

View File

@ -5,8 +5,8 @@
"require": {
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/symplify-kernel": "^9.5",
"symplify\/package-builder": "^9.5"
"symplify\/symplify-kernel": "^9.4.65",
"symplify\/package-builder": "^9.4.65"
},
"require-dev": {
"symfony\/http-kernel": "^5.3|^6.0",
@ -29,33 +29,32 @@
}
},
"conflict": {
"symplify\/astral": "<9.4.49",
"symplify\/composer-json-manipulator": "<9.4.49",
"symplify\/easy-coding-standard": "<9.4.49",
"symplify\/phpstan-rules": "<9.4.49",
"symplify\/easy-testing": "<9.4.49",
"symplify\/psr4-switcher": "<9.4.49",
"symplify\/rule-doc-generator-contracts": "<9.4.49",
"symplify\/simple-php-doc-parser": "<9.4.49",
"symplify\/php-config-printer": "<9.4.49",
"symplify\/console-color-diff": "<9.4.49",
"symplify\/autowire-array-parameter": "<9.4.49",
"symplify\/markdown-diff": "<9.4.49",
"symplify\/amnesia": "<9.4.49",
"symplify\/phpstan-extensions": "<9.4.49",
"symplify\/rule-doc-generator": "<9.4.49",
"symplify\/console-package-builder": "<9.4.49",
"symplify\/vendor-patches": "<9.4.49",
"symplify\/skipper": "<9.4.49",
"symplify\/smart-file-system": "<9.4.49",
"symplify\/phpunit-upgrader": "<9.4.49",
"symplify\/easy-hydrator": "<9.4.49",
"symplify\/symfony-static-dumper": "<9.4.49",
"symplify\/git-wrapper": "<9.4.49",
"symplify\/monorepo-builder": "<9.4.49",
"symplify\/config-transformer": "<9.4.49",
"symplify\/easy-ci": "<9.4.49",
"symplify\/coding-standard": "<9.4.49"
"symplify\/astral": "<9.4.65",
"symplify\/composer-json-manipulator": "<9.4.65",
"symplify\/easy-coding-standard": "<9.4.65",
"symplify\/phpstan-rules": "<9.4.65",
"symplify\/easy-testing": "<9.4.65",
"symplify\/psr4-switcher": "<9.4.65",
"symplify\/rule-doc-generator-contracts": "<9.4.65",
"symplify\/simple-php-doc-parser": "<9.4.65",
"symplify\/php-config-printer": "<9.4.65",
"symplify\/console-color-diff": "<9.4.65",
"symplify\/autowire-array-parameter": "<9.4.65",
"symplify\/markdown-diff": "<9.4.65",
"symplify\/amnesia": "<9.4.65",
"symplify\/phpstan-extensions": "<9.4.65",
"symplify\/rule-doc-generator": "<9.4.65",
"symplify\/console-package-builder": "<9.4.65",
"symplify\/vendor-patches": "<9.4.65",
"symplify\/skipper": "<9.4.65",
"symplify\/smart-file-system": "<9.4.65",
"symplify\/easy-hydrator": "<9.4.65",
"symplify\/symfony-static-dumper": "<9.4.65",
"symplify\/git-wrapper": "<9.4.65",
"symplify\/monorepo-builder": "<9.4.65",
"symplify\/config-transformer": "<9.4.65",
"symplify\/easy-ci": "<9.4.65",
"symplify\/coding-standard": "<9.4.65"
},
"minimum-stability": "dev",
"prefer-stable": true

View File

@ -7,10 +7,10 @@
"symfony\/console": "^5.3|^6.0",
"symfony\/http-kernel": "^5.3|^6.0",
"symfony\/dependency-injection": "^5.3|^6.0",
"symplify\/smart-file-system": "^9.5",
"symplify\/composer-json-manipulator": "^9.5",
"symplify\/autowire-array-parameter": "^9.5",
"symplify\/package-builder": "^9.5"
"symplify\/smart-file-system": "^9.4.65",
"symplify\/composer-json-manipulator": "^9.4.65",
"symplify\/autowire-array-parameter": "^9.4.65",
"symplify\/package-builder": "^9.4.65"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -15,22 +15,21 @@ use Throwable;
final class KernelBootAndApplicationRun
{
/**
* @var class-string<\Symfony\Component\HttpKernel\KernelInterface>
* @var class-string
*/
private $kernelClass;
/**
* @var string[]|\Symplify\SmartFileSystem\SmartFileInfo[]
* @var string[]|SmartFileInfo[]
*/
private $extraConfigs = [];
/**
* @param class-string<KernelInterface> $kernelClass
* @param class-string $kernelClass
* @param string[]|SmartFileInfo[] $extraConfigs
*/
public function __construct(string $kernelClass, array $extraConfigs = [])
{
$this->kernelClass = $kernelClass;
$this->setKernelClass($kernelClass);
$this->extraConfigs = $extraConfigs;
$this->validateKernelClass($this->kernelClass);
}
public function run() : void
{
@ -80,11 +79,12 @@ final class KernelBootAndApplicationRun
/**
* @param class-string $kernelClass
*/
private function validateKernelClass(string $kernelClass) : void
private function setKernelClass(string $kernelClass) : void
{
if (!\is_a($kernelClass, \RectorPrefix20210924\Symfony\Component\HttpKernel\KernelInterface::class, \true)) {
$message = \sprintf('Class "%s" must by type of "%s"', $kernelClass, \RectorPrefix20210924\Symfony\Component\HttpKernel\KernelInterface::class);
throw new \RectorPrefix20210924\Symplify\SymplifyKernel\Exception\BootException($message);
}
$this->kernelClass = $kernelClass;
}
}