From f5ab71d3b6cb5c543240e827919b577a548d0d9a Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 5 Jan 2015 13:10:48 +0100 Subject: [PATCH] IDEA-134020 ctrl+shift+enter complete error to "package some.pkg" --- .../editorActions/smartEnter/JavaSmartEnterProcessor.java | 6 ++++-- .../editorActions/smartEnter/SemicolonFixer.java | 1 + .../AddMissingSemicolonToPackageStatement.java | 1 + .../AddMissingSemicolonToPackageStatement_after.java | 2 ++ .../com/intellij/codeInsight/CompleteStatementTest.java | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement.java create mode 100644 java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement_after.java diff --git a/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/JavaSmartEnterProcessor.java b/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/JavaSmartEnterProcessor.java index 90c26bc6073b..b2915b5a90b3 100644 --- a/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/JavaSmartEnterProcessor.java +++ b/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/JavaSmartEnterProcessor.java @@ -270,7 +270,8 @@ public class JavaSmartEnterProcessor extends SmartEnterProcessor { PsiCodeBlock.class, PsiMember.class, PsiComment.class, - PsiImportStatementBase.class + PsiImportStatementBase.class, + PsiPackageStatement.class ); if (statementAtCaret instanceof PsiBlockStatement) return null; @@ -283,7 +284,8 @@ public class JavaSmartEnterProcessor extends SmartEnterProcessor { return statementAtCaret instanceof PsiStatement || statementAtCaret instanceof PsiMember || - statementAtCaret instanceof PsiImportStatementBase + statementAtCaret instanceof PsiImportStatementBase || + statementAtCaret instanceof PsiPackageStatement ? statementAtCaret : null; } diff --git a/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SemicolonFixer.java b/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SemicolonFixer.java index e2a70bc2f116..fd78db19f782 100644 --- a/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SemicolonFixer.java +++ b/java/java-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SemicolonFixer.java @@ -100,6 +100,7 @@ public class SemicolonFixer implements Fixer { !(psiElement instanceof PsiBreakStatement) && !(psiElement instanceof PsiContinueStatement) && !(psiElement instanceof PsiAssertStatement) && + !(psiElement instanceof PsiPackageStatement) && (!(psiElement instanceof PsiField) || psiElement instanceof PsiEnumConstant) && (!(psiElement instanceof PsiMethod) || (!((PsiMethod)psiElement).getContainingClass().isInterface() && !((PsiMethod)psiElement).hasModifierProperty(PsiModifier.ABSTRACT)))) { diff --git a/java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement.java b/java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement.java new file mode 100644 index 000000000000..4c723c11a3ff --- /dev/null +++ b/java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement.java @@ -0,0 +1 @@ +package foo diff --git a/java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement_after.java b/java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement_after.java new file mode 100644 index 000000000000..db81b31853a9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completeStatement/AddMissingSemicolonToPackageStatement_after.java @@ -0,0 +1,2 @@ +package foo; + diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/CompleteStatementTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/CompleteStatementTest.java index 927c8df52cf7..7339d1f87210 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/CompleteStatementTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/CompleteStatementTest.java @@ -30,6 +30,8 @@ import org.jetbrains.annotations.NotNull; @TestDataPath("$CONTENT_ROOT/testData") public class CompleteStatementTest extends EditorActionTestCase { public void testAddMissingSemicolon() throws Exception { doTest(); } + + public void testAddMissingSemicolonToPackageStatement() { doTest(); } public void testAddMissingParen() throws Exception { doTest(); }