Skip to content

Commit c04555b

Browse files
committed
Another micro optimization
1 parent 537c12c commit c04555b

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/Rules/RuleLevelHelper.php

+10-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use PHPStan\Type\MixedType;
1515
use PHPStan\Type\NeverType;
1616
use PHPStan\Type\NullType;
17+
use PHPStan\Type\ObjectType;
1718
use PHPStan\Type\ObjectWithoutClassType;
1819
use PHPStan\Type\StaticType;
1920
use PHPStan\Type\StrictMixedType;
@@ -497,7 +498,15 @@ private function findTypeToCheckImplementation(
497498
}
498499

499500
$tip = null;
500-
if (str_contains($type->describe(VerbosityLevel::typeOnly()), 'PhpParser\\Node\\Arg|PhpParser\\Node\\VariadicPlaceholder') && !$unionTypeCriteriaCallback($type)) {
501+
if (
502+
$type instanceof UnionType
503+
&& count($type->getTypes()) === 2
504+
&& $type->getTypes()[0] instanceof ObjectType
505+
&& $type->getTypes()[1] instanceof ObjectType
506+
&& $type->getTypes()[0]->getClassName() === 'PhpParser\\Node\\Arg'
507+
&& $type->getTypes()[1]->getClassName() === 'PhpParser\\Node\\VariadicPlaceholder'
508+
&& !$unionTypeCriteriaCallback($type)
509+
) {
501510
$tip = 'Use <fg=cyan>->getArgs()</> instead of <fg=cyan>->args</>.';
502511
}
503512

0 commit comments

Comments
 (0)