From 886eae4f6745768b6fceb17cef17bc0866c3f566 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 9 Nov 2017 11:16:40 +0100 Subject: [PATCH] inline into method reference: keep with multiple return statements --- .../src/com/intellij/refactoring/util/InlineUtil.java | 2 +- .../refactoring/inlineMethod/InlineIntoMethodRef.java | 1 + .../refactoring/inlineMethod/InlineIntoMethodRef.java.after | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/util/InlineUtil.java b/java/java-impl/src/com/intellij/refactoring/util/InlineUtil.java index b1f1662155b0..5f4861a7dbd5 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/InlineUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/util/InlineUtil.java @@ -311,7 +311,7 @@ public class InlineUtil { public static TailCallType getTailCallType(@NotNull final PsiReference psiReference) { PsiElement element = psiReference.getElement(); - if (element instanceof PsiMethodReferenceExpression) return TailCallType.None; + if (element instanceof PsiMethodReferenceExpression) return TailCallType.Return; PsiExpression methodCall = PsiTreeUtil.getParentOfType(element, PsiMethodCallExpression.class); if (methodCall == null) return TailCallType.None; PsiElement callParent = methodCall.getParent(); diff --git a/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java b/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java index 762b0f595b7b..4710e071bed1 100644 --- a/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java +++ b/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java @@ -6,6 +6,7 @@ class Test { } private String get() { + if (true) return null; return null; } } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java.after b/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java.after index 2a7e11c5fe08..e7e046eb3a5e 100644 --- a/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java.after +++ b/java/java-tests/testData/refactoring/inlineMethod/InlineIntoMethodRef.java.after @@ -2,10 +2,14 @@ import java.util.function.Supplier; class Test { { - Supplier sup = () -> null; + Supplier sup = () -> { + if (true) return null; + return null; + }; } private String get() { + if (true) return null; return null; } } \ No newline at end of file