Updated Rector to commit 4e625d0b8e545bf8fc143f5c9a18e6295ecc3989

4e625d0b8e [CodeQuality] Add concat support on ReturnTypeFromStrictScalarReturnExprRector to be string (#3435)
This commit is contained in:
Tomas Votruba 2023-03-02 12:17:17 +00:00
parent 52181ff8c7
commit 5104869465
8 changed files with 29 additions and 21 deletions

View File

@ -4,6 +4,7 @@ declare (strict_types=1);
namespace Rector\TypeDeclaration\TypeAnalyzer;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\BinaryOp\Concat;
use PhpParser\Node\Expr\ConstFetch;
use PhpParser\Node\Expr\FuncCall;
use PhpParser\Node\Name;
@ -38,6 +39,9 @@ final class AlwaysStrictScalarExprAnalyzer
}
public function matchStrictScalarExpr(Expr $expr) : ?Type
{
if ($expr instanceof Concat) {
return new StringType();
}
if ($expr instanceof Scalar) {
return $this->resolveTypeFromScalar($expr);
}

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = '10f38ea6718148f80bc24cd810a016e1a037691d';
public const PACKAGE_VERSION = '4e625d0b8e545bf8fc143f5c9a18e6295ecc3989';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-03-02 01:46:08';
public const RELEASE_DATE = '2023-03-02 12:12:36';
/**
* @var int
*/

2
vendor/autoload.php vendored
View File

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit75e3cd7575cb917e4a79b458055f095f::getLoader();
return ComposerAutoloaderInit9b6a6fd2f7e8c640be4eea4e6f29dd94::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit75e3cd7575cb917e4a79b458055f095f
class ComposerAutoloaderInit9b6a6fd2f7e8c640be4eea4e6f29dd94
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInit75e3cd7575cb917e4a79b458055f095f
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit75e3cd7575cb917e4a79b458055f095f', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit9b6a6fd2f7e8c640be4eea4e6f29dd94', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit75e3cd7575cb917e4a79b458055f095f', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit9b6a6fd2f7e8c640be4eea4e6f29dd94', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit75e3cd7575cb917e4a79b458055f095f::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit9b6a6fd2f7e8c640be4eea4e6f29dd94::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInit75e3cd7575cb917e4a79b458055f095f::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticInit9b6a6fd2f7e8c640be4eea4e6f29dd94::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit75e3cd7575cb917e4a79b458055f095f
class ComposerStaticInit9b6a6fd2f7e8c640be4eea4e6f29dd94
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -3148,9 +3148,9 @@ class ComposerStaticInit75e3cd7575cb917e4a79b458055f095f
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit75e3cd7575cb917e4a79b458055f095f::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit75e3cd7575cb917e4a79b458055f095f::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit75e3cd7575cb917e4a79b458055f095f::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit9b6a6fd2f7e8c640be4eea4e6f29dd94::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit9b6a6fd2f7e8c640be4eea4e6f29dd94::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit9b6a6fd2f7e8c640be4eea4e6f29dd94::$classMap;
}, null, ClassLoader::class);
}

View File

@ -931,17 +931,17 @@
},
{
"name": "phpstan\/phpstan-phpunit",
"version": "1.3.9",
"version_normalized": "1.3.9.0",
"version": "1.3.10",
"version_normalized": "1.3.10.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/phpstan\/phpstan-phpunit.git",
"reference": "34ee324a2b8fcab680fbb3f3f3d6c86389df35ba"
"reference": "4cc5c6cc38e56bce7ea47c4091814e516d172dc3"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan-phpunit\/zipball\/34ee324a2b8fcab680fbb3f3f3d6c86389df35ba",
"reference": "34ee324a2b8fcab680fbb3f3f3d6c86389df35ba",
"url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan-phpunit\/zipball\/4cc5c6cc38e56bce7ea47c4091814e516d172dc3",
"reference": "4cc5c6cc38e56bce7ea47c4091814e516d172dc3",
"shasum": ""
},
"require": {
@ -957,7 +957,7 @@
"phpstan\/phpstan-strict-rules": "^1.0",
"phpunit\/phpunit": "^9.5"
},
"time": "2023-02-28T13:04:23+00:00",
"time": "2023-03-02T10:25:13+00:00",
"type": "phpstan-extension",
"extra": {
"phpstan": {
@ -980,7 +980,7 @@
"description": "PHPUnit extensions and rules for PHPStan",
"support": {
"issues": "https:\/\/github.com\/phpstan\/phpstan-phpunit\/issues",
"source": "https:\/\/github.com\/phpstan\/phpstan-phpunit\/tree\/1.3.9"
"source": "https:\/\/github.com\/phpstan\/phpstan-phpunit\/tree\/1.3.10"
},
"install-path": "..\/phpstan\/phpstan-phpunit"
},

File diff suppressed because one or more lines are too long

View File

@ -56,7 +56,11 @@ class MockMethodCallRule implements Rule
if ($mockedClassObject->hasMethod($method)->yes()) {
continue;
}
$errors[] = sprintf('Trying to mock an undefined method %s() on class %s.', $method, implode('|', $mockedClassObject->getObjectClassNames()));
$classNames = $mockedClassObject->getObjectClassNames();
if (count($classNames) === 0) {
continue;
}
$errors[] = sprintf('Trying to mock an undefined method %s() on class %s.', $method, implode('|', $classNames));
}
return $errors;
}