diff --git a/packages/NodeNameResolver/NodeNameResolver.php b/packages/NodeNameResolver/NodeNameResolver.php index 2fa306bd2a1..26911dcf264 100644 --- a/packages/NodeNameResolver/NodeNameResolver.php +++ b/packages/NodeNameResolver/NodeNameResolver.php @@ -87,6 +87,7 @@ final class NodeNameResolver } /** * @api + * @deprecated This method is unused and will be removed, go for isName() instead */ public function isCaseSensitiveName(Node $node, string $name) : bool { @@ -171,6 +172,14 @@ final class NodeNameResolver $suffixNamePattern = '#\\w+' . \ucfirst($expectedName) . '#'; return StringUtils::isMatch($currentName, $suffixNamePattern); } + public function startsWith(Node $node, string $prefix) : bool + { + $name = $this->getName($node); + if (!\is_string($name)) { + return \false; + } + return \strncmp($name, $prefix, \strlen($prefix)) === 0; + } /** * @param string|\PhpParser\Node\Name|\PhpParser\Node\Identifier|\PhpParser\Node\Stmt\ClassLike $name */ diff --git a/rules/Privatization/Rector/ClassMethod/PrivatizeFinalClassMethodRector.php b/rules/Privatization/Rector/ClassMethod/PrivatizeFinalClassMethodRector.php index da904a2a7d6..1c9c3894278 100644 --- a/rules/Privatization/Rector/ClassMethod/PrivatizeFinalClassMethodRector.php +++ b/rules/Privatization/Rector/ClassMethod/PrivatizeFinalClassMethodRector.php @@ -103,7 +103,8 @@ CODE_SAMPLE } private function shouldSkipClassMethod(ClassMethod $classMethod) : bool { - if ($this->nodeNameResolver->matchesStringName($classMethod->name->toString(), 'createComponent*')) { + // edge case in nette framework + if ($this->nodeNameResolver->startsWith($classMethod->name, 'createComponent')) { return \true; } return !$classMethod->isProtected(); diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 105f4e2b3ba..9bb1e4214f6 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -19,12 +19,12 @@ final class VersionResolver * @api * @var string */ - public const PACKAGE_VERSION = '27078e79628cb14866b69dc6b8c2181fbec1d4c6'; + public const PACKAGE_VERSION = '2d5d72f3ba66a63acb991107ba763e147c9840f4'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-09-09 16:13:17'; + public const RELEASE_DATE = '2023-09-09 16:17:08'; /** * @var int */ diff --git a/vendor/autoload.php b/vendor/autoload.php index 682fb42facd..4341350d311 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInitb9b5af44a2d53749e903697952a80dea::getLoader(); +return ComposerAutoloaderInit44a71667671e232b128ccd6eb6cb8d26::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index a51dc15d07e..37cb5bf9028 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInitb9b5af44a2d53749e903697952a80dea +class ComposerAutoloaderInit44a71667671e232b128ccd6eb6cb8d26 { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInitb9b5af44a2d53749e903697952a80dea return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitb9b5af44a2d53749e903697952a80dea', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit44a71667671e232b128ccd6eb6cb8d26', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInitb9b5af44a2d53749e903697952a80dea', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit44a71667671e232b128ccd6eb6cb8d26', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitb9b5af44a2d53749e903697952a80dea::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit44a71667671e232b128ccd6eb6cb8d26::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInitb9b5af44a2d53749e903697952a80dea::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit44a71667671e232b128ccd6eb6cb8d26::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 590279493f9..52d41e1e625 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInitb9b5af44a2d53749e903697952a80dea +class ComposerStaticInit44a71667671e232b128ccd6eb6cb8d26 { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -2599,9 +2599,9 @@ class ComposerStaticInitb9b5af44a2d53749e903697952a80dea public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitb9b5af44a2d53749e903697952a80dea::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitb9b5af44a2d53749e903697952a80dea::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInitb9b5af44a2d53749e903697952a80dea::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit44a71667671e232b128ccd6eb6cb8d26::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit44a71667671e232b128ccd6eb6cb8d26::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit44a71667671e232b128ccd6eb6cb8d26::$classMap; }, null, ClassLoader::class); }