diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterAnonymousClass.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterAnonymousClass.java index 87260bc8d56e..70a03f5ee5ab 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterAnonymousClass.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterAnonymousClass.java @@ -2,7 +2,7 @@ class Main { static void foo() { new Object() { - public int field; + private int field; void bar() { this.field = 0; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterInterface.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterInterface.java index beb76ff4cd44..d5d2001d3c9f 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterInterface.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/afterInterface.java @@ -1,10 +1,10 @@ -// "Create field 'FIELD'" "true" +// "Create constant field 'FIELD'" "true" class C { public void foo() { int i = ITest.FIELD; } public static interface ITest { - int FIELD; + int FIELD = ; } } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterface.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterface.java index c2fcef9075f4..5a8c3d44ad33 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterface.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterface.java @@ -1,4 +1,4 @@ -// "Create field 'FIELD'" "true" +// "Create constant field 'FIELD'" "true" class C { public void foo() { int i = ITest.FIELD; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterfaceField.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterfaceField.java new file mode 100644 index 000000000000..6f4ff1364a6a --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeInterfaceField.java @@ -0,0 +1,9 @@ +// "Create field 'FIELD'" "false" +class C { + public void foo() { + int i = ITest.FIELD; + } + + public static interface ITest { + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeSuperInterfaceConstant.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeSuperInterfaceConstant.java new file mode 100644 index 000000000000..7fcf1e1f9f4d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage/beforeSuperInterfaceConstant.java @@ -0,0 +1,10 @@ +// "Create constant field 'bar' in 'I'" "false" +interface I {} + +interface II extends I {} + +class Usage { + void usage() { + II.bar; + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java index 4a2c329f9013..b6d38eb8cd40 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/quickFix/CreateFieldFromUsageTest.java @@ -15,6 +15,7 @@ */ package com.intellij.java.codeInsight.daemon.quickFix; +import com.intellij.codeInsight.daemon.quickFix.ActionHint; import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase; import com.intellij.lang.java.JavaLanguage; import com.intellij.openapi.application.Result; @@ -24,6 +25,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiDocumentManager; +import com.intellij.psi.PsiFile; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.psi.search.GlobalSearchScope; @@ -37,6 +39,8 @@ public class CreateFieldFromUsageTest extends LightQuickFixTestCase { public void testAnonymousClass() { doSingleTest(); } public void testExpectedTypes() { doSingleTest(); } public void testInterface() { doSingleTest(); } + public void testInterfaceField() { doSingleTest(); } + public void testSuperInterfaceConstant() { doSingleTest(); } public void testMultipleTypes() { doSingleTest(); } public void testMultipleTypes2() { doSingleTest(); } public void testParametericMethod() { doSingleTest(); } @@ -89,4 +93,8 @@ public class CreateFieldFromUsageTest extends LightQuickFixTestCase { return "/codeInsight/daemonCodeAnalyzer/quickFix/createFieldFromUsage"; } + @Override + protected ActionHint parseActionHintImpl(@NotNull PsiFile file, @NotNull String contents) { + return ActionHint.parse(file, contents, false); + } }