Skip to content

Commit 9ff40e0

Browse files
authored
Merge pull request #11390 from Tofandel/patch-3
fix: alter of ClassMustBeFinal inserts final before attributes
2 parents c796c8a + f4ed181 commit 9ff40e0

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/Psalm/Internal/Codebase/ClassLikes.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -884,9 +884,15 @@ public function consolidateAnalyzedData(Methods $methods, ?Progress $progress, b
884884
&& $classlike_storage->stmt_location !== null
885885
&& isset($project_analyzer->getIssuesToFix()['ClassMustBeFinal'])
886886
) {
887-
$idx = $classlike_storage->stmt_location->getSelectionBounds()[0];
887+
$selection = $classlike_storage->stmt_location->getSnippet();
888+
$insert_pos = strpos($selection, "class");
889+
890+
if ($insert_pos === false) {
891+
$insert_pos = $classlike_storage->stmt_location->getSelectionBounds()[0];
892+
}
893+
888894
FileManipulationBuffer::add($classlike_storage->stmt_location->file_path, [
889-
new FileManipulation($idx, $idx, 'final ', true),
895+
new FileManipulation($insert_pos, $insert_pos, 'final ', true),
890896
]);
891897
}
892898
}

0 commit comments

Comments
 (0)