inline method: missed braces (IDEA-133700)

This commit is contained in:
Anna Kozlova
2014-12-02 12:49:54 +01:00
parent 913a6e5d53
commit 5cfd7bb681
4 changed files with 29 additions and 1 deletions
@@ -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);
@@ -0,0 +1,12 @@
class JavaClass {
String bar() {
return "bar";
}
String baz(boolean condition) {
if (condition)
return b<caret>ar();
return "default";
}
}
@@ -0,0 +1,12 @@
class JavaClass {
String bar() {
return "bar";
}
String baz(boolean condition) {
if (condition)
return "bar";
return "default";
}
}
@@ -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);