diff --git a/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/Fixture/skip_trait.php.inc b/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/Fixture/skip_trait.php.inc new file mode 100644 index 000000000000..ac6aeb547a82 --- /dev/null +++ b/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/Fixture/skip_trait.php.inc @@ -0,0 +1,24 @@ +value = $value; + } + + public function go() + { + if ($this->value) { + return 'yes'; + } + } +} + +?> \ No newline at end of file diff --git a/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/RemoveAlwaysTrueConditionSetInConstructorRectorTest.php b/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/RemoveAlwaysTrueConditionSetInConstructorRectorTest.php index 3eae65d12a7e..c619530d67d8 100644 --- a/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/RemoveAlwaysTrueConditionSetInConstructorRectorTest.php +++ b/packages/CodeQuality/tests/Rector/If_/RemoveAlwaysTrueConditionSetInConstructorRector/RemoveAlwaysTrueConditionSetInConstructorRectorTest.php @@ -31,6 +31,7 @@ public function provideDataForTest(): Iterator yield [__DIR__ . '/Fixture/skip_scalars.php.inc']; yield [__DIR__ . '/Fixture/skip_unknown.php.inc']; yield [__DIR__ . '/Fixture/skip_optional_argument_value.php.inc']; + yield [__DIR__ . '/Fixture/skip_trait.php.inc']; } protected function getRectorClass(): string diff --git a/src/PhpParser/Node/Manipulator/ClassManipulator.php b/src/PhpParser/Node/Manipulator/ClassManipulator.php index 7807ea32eb0d..738c246bfe70 100644 --- a/src/PhpParser/Node/Manipulator/ClassManipulator.php +++ b/src/PhpParser/Node/Manipulator/ClassManipulator.php @@ -197,9 +197,9 @@ public function getUsedTraits(ClassLike $classLike): array return $usedTraits; } - public function getProperty(Class_ $class, string $name): ?Property + public function getProperty(ClassLike $classLike, string $name): ?Property { - foreach ($class->getProperties() as $property) { + foreach ($classLike->getProperties() as $property) { if (count($property->props) > 1) { // usually full property is needed to have all the docs values throw new ShouldNotHappenException();