[java-inspections] AddFinallyFix: handle end comments

GitOrigin-RevId: b8dbc546122362e256c92be5a3a696275639f2a5
This commit is contained in:
Tagir Valeev
2024-06-11 13:42:54 +02:00
committed by intellij-monorepo-bot
parent 2e163a8743
commit 77ec9855d8
3 changed files with 21 additions and 1 deletions

View File

@@ -22,9 +22,10 @@ public class AddFinallyFix extends PsiUpdateModCommandAction<PsiTryStatement> {
@Override
protected void invoke(@NotNull ActionContext context, @NotNull PsiTryStatement tryStatement, @NotNull ModPsiUpdater updater) {
if (tryStatement.getFinallyBlock() != null) return;
PsiStatement replacement =
JavaPsiFacade.getElementFactory(context.project())
.createStatementFromText(tryStatement.getText() + "finally {\n\n}", tryStatement);
.createStatementFromText(tryStatement.getText() + "\nfinally {\n\n}", tryStatement);
PsiTryStatement result = (PsiTryStatement)tryStatement.replace(replacement);
moveCaretToFinallyBlock(updater, Objects.requireNonNull(result.getFinallyBlock()));
}

View File

@@ -0,0 +1,11 @@
// "Add 'finally' block" "true-preview"
class X {
void test() {
try {
System.out.println();
} // todo
finally {
<caret>
}
}
}

View File

@@ -0,0 +1,8 @@
// "Add 'finally' block" "true-preview"
class X {
void test() {
try {
System.out.println();
}<caret> // todo
}
}