diff --git a/java/java-impl/src/com/intellij/codeInsight/editorActions/ChainCallJoinLinesHandler.java b/java/java-impl/src/com/intellij/codeInsight/editorActions/ChainCallJoinLinesHandler.java index 24acbe121737..df5cebc05ad0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/editorActions/ChainCallJoinLinesHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/editorActions/ChainCallJoinLinesHandler.java @@ -34,6 +34,7 @@ public class ChainCallJoinLinesHandler implements JoinLinesHandlerDelegate { boolean result = false; if (firstStatement instanceof PsiExpressionStatement) { + if (firstStatement.getParent() != secondStatement.getParent()) return CANNOT_JOIN; PsiExpression firstExpression = ((PsiExpressionStatement)firstStatement).getExpression(); if (firstExpression instanceof PsiMethodCallExpression) { result = joinTwoCalls((PsiMethodCallExpression)firstExpression, secondCall); diff --git a/java/java-tests/testData/codeInsight/joinLines/CallChainWrong2.java b/java/java-tests/testData/codeInsight/joinLines/CallChainWrong2.java new file mode 100644 index 000000000000..9b007759c255 --- /dev/null +++ b/java/java-tests/testData/codeInsight/joinLines/CallChainWrong2.java @@ -0,0 +1,7 @@ +class Foo { + void test() { + StringBuilder sb = new StringBuilder(); + if(sb.length() == 0) sb.append("bar"); + sb.append("baz"); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/joinLines/CallChainWrong2_after.java b/java/java-tests/testData/codeInsight/joinLines/CallChainWrong2_after.java new file mode 100644 index 000000000000..5cf75ce688d9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/joinLines/CallChainWrong2_after.java @@ -0,0 +1,6 @@ +class Foo { + void test() { + StringBuilder sb = new StringBuilder(); + if(sb.length() == 0) sb.append("bar");sb.append("baz"); + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/JoinLinesTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/JoinLinesTest.java index 58fc5f217200..3eb85d266ee5 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/JoinLinesTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/JoinLinesTest.java @@ -43,6 +43,7 @@ public class JoinLinesTest extends LightCodeInsightTestCase { public void testCallChain() { doTest(); } public void testCallChain2() { doTest(); } public void testCallChainWrong() { doTest(); } + public void testCallChainWrong2() { doTest(); } public void testDeclarationAndCall() { doTest(); } public void testDeclarationAndCallSelfRef() { doTest(); } public void testAssignmentAndCall() { doTest(); }