diff --git a/composer.json b/composer.json index 4695b5f5e..57f53f159 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "phpstan/phpstan-phpunit": "^1.4 || ^2.0", "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", "swissspidy/phpstan-no-private": "^0.2.1 || ^1.0", - "szepeviktor/phpstan-wordpress": "^v1.3.5", + "szepeviktor/phpstan-wordpress": "^1.3.5 || ^2.0.3", "wp-cli/config-command": "^1 || ^2", "wp-cli/core-command": "^1 || ^2", "wp-cli/eval-command": "^1 || ^2", diff --git a/extension.neon b/extension.neon index c231d5465..494261774 100644 --- a/extension.neon +++ b/extension.neon @@ -29,6 +29,14 @@ parameters: switchConditionsMatchingType: false noVariableVariables: false strictArrayFilter: false + booleansInLoopConditions: false + disallowedBacktick: false + disallowedEmpty: false + disallowedImplicitArrayCreation: false + disallowedShortTernary: false + strictFunctionCalls: false + dynamicCallOnStaticMethod: false + illegalConstructorMethodCall: false # Add the schema from phpstan-strict-rules so it's available without loading the extension # and the above configuration works. @@ -48,4 +56,12 @@ parametersSchema: switchConditionsMatchingType: anyOf(bool(), arrayOf(bool())) noVariableVariables: anyOf(bool(), arrayOf(bool())) strictArrayFilter: anyOf(bool(), arrayOf(bool())) + booleansInLoopConditions: anyOf(bool(), arrayOf(bool())) + disallowedBacktick: anyOf(bool(), arrayOf(bool())) + disallowedEmpty: anyOf(bool(), arrayOf(bool())) + disallowedImplicitArrayCreation: anyOf(bool(), arrayOf(bool())) + disallowedShortTernary: anyOf(bool(), arrayOf(bool())) + strictFunctionCalls: anyOf(bool(), arrayOf(bool())) + dynamicCallOnStaticMethod: anyOf(bool(), arrayOf(bool())) + illegalConstructorMethodCall: anyOf(bool(), arrayOf(bool())) ]) diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 3c2a0976c..abe68abc1 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -21,7 +21,5 @@ parameters: ignoreErrors: # Needs fixing in WP-CLI. - message: '#Parameter \#1 \$cmd of function WP_CLI\\Utils\\esc_cmd expects array#' - - message: '#Dynamic call to static method#' - path: 'tests/tests' strictRules: strictCalls: true diff --git a/src/Context/FeatureContext.php b/src/Context/FeatureContext.php index 3c9dbb0e3..07936e133 100644 --- a/src/Context/FeatureContext.php +++ b/src/Context/FeatureContext.php @@ -1169,7 +1169,7 @@ private function set_cache_dir(): void { * Run a MySQL command with `$db_settings`. * * @param string $sql_cmd Command to run. - * @param array $assoc_args Optional. Associative array of options. Default empty. + * @param array $assoc_args Optional. Associative array of options. Default empty. * @param bool $add_database Optional. Whether to add dbname to the $sql_cmd. Default false. * @return array{stdout: string, stderr: string, exit_code: int} */ @@ -1247,7 +1247,7 @@ public function drop_db(): void { /** * @param string $command - * @param array $assoc_args + * @param array $assoc_args * @param string $path * @return Process */ diff --git a/src/PHPStan/WPCliRuncommandDynamicReturnTypeExtension.php b/src/PHPStan/WPCliRuncommandDynamicReturnTypeExtension.php index 379e03b5a..2635fecf9 100644 --- a/src/PHPStan/WPCliRuncommandDynamicReturnTypeExtension.php +++ b/src/PHPStan/WPCliRuncommandDynamicReturnTypeExtension.php @@ -39,11 +39,8 @@ public function getTypeFromStaticMethodCall( ): Type { $args = $methodCall->getArgs(); - /** @var ConstantBooleanType|ConstantStringType $returnOption */ - $returnOption = new ConstantBooleanType( true ); - /** @var ConstantBooleanType|ConstantStringType $parseOption */ - $parseOption = new ConstantBooleanType( false ); - /** @var ConstantBooleanType $exitOnErrorOption */ + $returnOption = new ConstantBooleanType( true ); + $parseOption = new ConstantBooleanType( false ); $exitOnErrorOption = new ConstantBooleanType( true ); $optionsAreStaticallyKnown = true;