diff --git a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamStringTypeFromSprintfUseRector/Fixture/skip_possible_int.php.inc b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamStringTypeFromSprintfUseRector/Fixture/skip_possible_int.php.inc new file mode 100644 index 00000000000..0c84793eaf9 --- /dev/null +++ b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamStringTypeFromSprintfUseRector/Fixture/skip_possible_int.php.inc @@ -0,0 +1,18 @@ + 'Fatal error', + \E_PARSE => 'Parse error', + \E_USER_WARNING, \E_WARNING, \E_COMPILE_WARNING => 'Warning', + \E_USER_NOTICE, \E_NOTICE => 'Notice', + \E_USER_DEPRECATED, \E_DEPRECATED => 'Deprecated', + default => sprintf('Unknown (%s)', $errno), + }; + } +} \ No newline at end of file diff --git a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamStringTypeFromSprintfUseRector/Fixture/skip_with_empty_check.php.inc b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamStringTypeFromSprintfUseRector/Fixture/skip_with_empty_check.php.inc new file mode 100644 index 00000000000..85d1f03673d --- /dev/null +++ b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamStringTypeFromSprintfUseRector/Fixture/skip_with_empty_check.php.inc @@ -0,0 +1,16 @@ +nodeTypeResolver->getType($messageArg->value); - $messageValue = $this->valueResolver->getValue($messageArg->value); if (! is_string($messageValue)) { continue; @@ -75,6 +75,11 @@ public function matchMask(ClassMethod|Function_ $functionLike, string $variableN continue; } + $type = $this->nodeTypeResolver->getNativeType($arg->value); + if ($type instanceof MixedType && $type->getSubtractedType() instanceof UnionType) { + continue; + } + return true; } }