diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java index d158cb7b361f..2040dac5e295 100644 --- a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java @@ -1269,7 +1269,7 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor { if (parentStatement != null) { PsiElement parent = ref.getParent(); while (!parent.equals(parentStatement)) { - if (parent instanceof PsiExpressionStatement) { + if (parent instanceof PsiExpressionStatement || parent instanceof PsiReturnStatement) { String text = "{\n}"; PsiBlockStatement blockStatement = (PsiBlockStatement)myFactory.createStatementFromText(text, null); blockStatement = (PsiBlockStatement)myCodeStyleManager.reformat(blockStatement); diff --git a/java/java-tests/testData/refactoring/inlineMethod/ReturnStatementWithoutBraces.java b/java/java-tests/testData/refactoring/inlineMethod/ReturnStatementWithoutBraces.java new file mode 100644 index 000000000000..6c1566c3402d --- /dev/null +++ b/java/java-tests/testData/refactoring/inlineMethod/ReturnStatementWithoutBraces.java @@ -0,0 +1,12 @@ +class JavaClass { + String bar() { + return "bar"; + } + + String baz(boolean condition) { + if (condition) + return bar(); + + return "default"; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/inlineMethod/ReturnStatementWithoutBraces.java.after b/java/java-tests/testData/refactoring/inlineMethod/ReturnStatementWithoutBraces.java.after new file mode 100644 index 000000000000..2756a61b3c79 --- /dev/null +++ b/java/java-tests/testData/refactoring/inlineMethod/ReturnStatementWithoutBraces.java.after @@ -0,0 +1,12 @@ +class JavaClass { + String bar() { + return "bar"; + } + + String baz(boolean condition) { + if (condition) + return "bar"; + + return "default"; + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java b/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java index 922d5e04c3bc..fc4af4911730 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java @@ -272,6 +272,10 @@ public class InlineMethodTest extends LightRefactoringTestCase { doTest(); } + public void testReturnStatementWithoutBraces() throws Exception { + doTestInlineThisOnly(); + } + private void doTestInlineThisOnly() { @NonNls String fileName = "/refactoring/inlineMethod/" + getTestName(false) + ".java"; configureByFile(fileName);