diff --git a/java/java-impl/src/com/intellij/refactoring/makeStatic/MakeStaticHandler.java b/java/java-impl/src/com/intellij/refactoring/makeStatic/MakeStaticHandler.java index a647fb1d5769..eda3b181dff5 100644 --- a/java/java-impl/src/com/intellij/refactoring/makeStatic/MakeStaticHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/makeStatic/MakeStaticHandler.java @@ -85,7 +85,7 @@ public class MakeStaticHandler implements RefactoringActionHandler, ContextAware @Override public boolean isAvailableForQuickList(@NotNull Editor editor, @NotNull PsiFile file, @NotNull DataContext dataContext) { PsiElement element = BaseRefactoringAction.getElementAtCaret(editor, file); - return RefactoringActionContextUtil.getJavaMethodHeader(element) != null; + return RefactoringActionContextUtil.getJavaMethodHeader(element) != null || RefactoringActionContextUtil.isJavaClassHeader(element); } public static void invoke(final PsiTypeParameterListOwner member) { diff --git a/java/java-tests/testData/refactoring/refactorThis/MakeStaticFilteredOnStaticClass.java b/java/java-tests/testData/refactoring/refactorThis/MakeStaticFilteredOnStaticClass.java new file mode 100644 index 000000000000..d30b2ecf1599 --- /dev/null +++ b/java/java-tests/testData/refactoring/refactorThis/MakeStaticFilteredOnStaticClass.java @@ -0,0 +1,4 @@ +public class Test { + static class Inner { + } +} diff --git a/java/java-tests/testData/refactoring/refactorThis/MakeStaticOnClassDeclaration.java b/java/java-tests/testData/refactoring/refactorThis/MakeStaticOnClassDeclaration.java new file mode 100644 index 000000000000..8f856f000b95 --- /dev/null +++ b/java/java-tests/testData/refactoring/refactorThis/MakeStaticOnClassDeclaration.java @@ -0,0 +1,8 @@ +public class Test { + int x = 42; + class Inner { + void test(){ + System.out.println(x); + } + } +} diff --git a/java/java-tests/testData/refactoring/refactorThis/MakeStatic.java b/java/java-tests/testData/refactoring/refactorThis/MakeStaticOnMethodDeclaration.java similarity index 100% rename from java/java-tests/testData/refactoring/refactorThis/MakeStatic.java rename to java/java-tests/testData/refactoring/refactorThis/MakeStaticOnMethodDeclaration.java diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/RefactorThisTest.kt b/java/java-tests/testSrc/com/intellij/java/refactoring/RefactorThisTest.kt index 3f0eebc49d84..8d1a75dc35c4 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/RefactorThisTest.kt +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/RefactorThisTest.kt @@ -155,10 +155,18 @@ class RefactorThisTest: LightJavaCodeInsightTestCase() { assertFalse(doActionExists()) } - fun testMakeStatic() { + fun testMakeStaticOnMethodDeclaration() { assertTrue(doActionExists()) } + fun testMakeStaticOnClassDeclaration() { + assertTrue(doActionExists()) + } + + fun testMakeStaticFilteredOnStaticClass() { + assertFalse(doActionExists()) + } + fun testMakeStaticFiltered() { assertFalse(doActionExists()) }