mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-157287 'Complete statement' fail with lambda
This commit is contained in:
+5
-1
@@ -42,6 +42,8 @@ import org.jetbrains.annotations.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.intellij.patterns.PsiJavaPatterns.psiElement;
|
||||
|
||||
/**
|
||||
* @author spleaner
|
||||
*/
|
||||
@@ -276,7 +278,9 @@ public class JavaSmartEnterProcessor extends SmartEnterProcessor {
|
||||
if (atCaret instanceof PsiWhiteSpace) return null;
|
||||
if (atCaret instanceof PsiJavaToken && "}".equals(atCaret.getText())) {
|
||||
atCaret = atCaret.getParent();
|
||||
if (!(atCaret instanceof PsiAnonymousClass || atCaret instanceof PsiArrayInitializerExpression)) {
|
||||
if (!(atCaret instanceof PsiAnonymousClass ||
|
||||
atCaret instanceof PsiArrayInitializerExpression ||
|
||||
psiElement(PsiCodeBlock.class).withParent(PsiLambdaExpression.class).accepts(atCaret))) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
public class Class1 {
|
||||
public void s() {
|
||||
Runnable r = () -> {
|
||||
}<caret>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
public class Class1 {
|
||||
public void s() {
|
||||
Runnable r = () -> {
|
||||
};<caret>
|
||||
}
|
||||
}
|
||||
@@ -299,7 +299,8 @@ public class CompleteStatementTest extends EditorActionTestCase {
|
||||
public void testArrayInitializerSeveralLines() { doTest(); }
|
||||
|
||||
public void testReturnInLambda() { doTest(); }
|
||||
|
||||
public void testSemicolonAfterLambda() { doTest(); }
|
||||
|
||||
private void doTestBracesNextLineStyle() throws Exception {
|
||||
CommonCodeStyleSettings settings = CodeStyleSettingsManager.getSettings(getProject()).getCommonSettings(JavaLanguage.INSTANCE);
|
||||
settings.BRACE_STYLE = CommonCodeStyleSettings.NEXT_LINE;
|
||||
|
||||
Reference in New Issue
Block a user