diff --git a/src/DetectChanges/BCBreak/EnumBased/CasesChanged.php b/src/DetectChanges/BCBreak/EnumBased/CasesChanged.php index 9183514a..25125c3b 100644 --- a/src/DetectChanges/BCBreak/EnumBased/CasesChanged.php +++ b/src/DetectChanges/BCBreak/EnumBased/CasesChanged.php @@ -22,11 +22,9 @@ public function __invoke(ReflectionClass $fromEnum, ReflectionClass $toEnum): Ch if (! $fromEnum instanceof ReflectionEnum) { return Changes::empty(); } - if (! $toEnum instanceof ReflectionEnum) { return Changes::empty(); } - $fromEnumName = $fromEnum->getName(); $addedCases = array_filter( @@ -40,6 +38,7 @@ static function (ReflectionEnumCase $case) use ($fromEnum): bool { }, ); + $removedCases = array_filter( $fromEnum->getCases(), static function (ReflectionEnumCase $case) use ($toEnum): bool { @@ -51,23 +50,23 @@ static function (ReflectionEnumCase $case) use ($toEnum): bool { }, ); - $caseRemovedChanges = array_values(array_map( + $caseRemovedChanges = array_map( static function (ReflectionEnumCase $case) use ($fromEnumName): Change { $caseName = $case->getName(); return Change::removed('Case ' . $fromEnumName . '::' . $caseName . ' was removed'); }, $removedCases, - )); + ); - $caseAddedChanges = array_values(array_map( + $caseAddedChanges = array_map( static function (ReflectionEnumCase $case) use ($fromEnumName): Change { $caseName = $case->getName(); return Change::added('Case ' . $fromEnumName . '::' . $caseName . ' was added'); }, $addedCases, - )); + ); return Changes::fromList(...$caseRemovedChanges, ...$caseAddedChanges); }