diff --git a/java/java-impl-refactorings/src/com/intellij/refactoring/inline/InlineToAnonymousClassHandler.java b/java/java-impl-refactorings/src/com/intellij/refactoring/inline/InlineToAnonymousClassHandler.java index 81446aa6f859..662fe8e99bcc 100644 --- a/java/java-impl-refactorings/src/com/intellij/refactoring/inline/InlineToAnonymousClassHandler.java +++ b/java/java-impl-refactorings/src/com/intellij/refactoring/inline/InlineToAnonymousClassHandler.java @@ -60,8 +60,8 @@ public class InlineToAnonymousClassHandler extends JavaInlineActionHandler { if (element instanceof PsiAnonymousClass) return false; PsiClass psiClass = (PsiClass)element; if (hasInheritors(psiClass)) return false; - boolean hasMethods = PsiTreeUtil.findChildOfType(psiClass, PsiMember.class) != null; - return !hasMethods || !SealedUtils.hasSealedParent(psiClass); + boolean hasMembers = PsiTreeUtil.findChildOfType(psiClass, PsiMember.class) != null; + return !hasMembers || !SealedUtils.hasSealedParent(psiClass); } private static boolean hasInheritors(final PsiClass element) { diff --git a/java/java-impl/src/META-INF/JavaPlugin.xml b/java/java-impl/src/META-INF/JavaPlugin.xml index 0c2cf901beee..dcc7fedd86ac 100644 --- a/java/java-impl/src/META-INF/JavaPlugin.xml +++ b/java/java-impl/src/META-INF/JavaPlugin.xml @@ -962,8 +962,8 @@ - - + + diff --git a/java/java-tests/testData/refactoring/inlineToAnonymousClass/Sealed.java b/java/java-tests/testData/refactoring/inlineToAnonymousClass/SealedNoMembers.java similarity index 100% rename from java/java-tests/testData/refactoring/inlineToAnonymousClass/Sealed.java rename to java/java-tests/testData/refactoring/inlineToAnonymousClass/SealedNoMembers.java diff --git a/java/java-tests/testData/refactoring/inlineToAnonymousClass/Sealed.java.after b/java/java-tests/testData/refactoring/inlineToAnonymousClass/SealedNoMembers.java.after similarity index 100% rename from java/java-tests/testData/refactoring/inlineToAnonymousClass/Sealed.java.after rename to java/java-tests/testData/refactoring/inlineToAnonymousClass/SealedNoMembers.java.after diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassMultifileTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassMultifileTest.java index f4b66ad32cfa..945d65c905ed 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassMultifileTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassMultifileTest.java @@ -77,6 +77,7 @@ public class InlineToAnonymousClassMultifileTest extends LightMultiFileTestCase PsiClass classToInline = myFixture.findClass(className); classToInline = (PsiClass)classToInline.getNavigationElement(); assertNull(InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline)); + assertTrue(new InlineToAnonymousClassHandler().canInlineElement(classToInline)); InlineToAnonymousClassProcessor processor = new InlineToAnonymousClassProcessor(getProject(), classToInline, null, false, false, false); diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassTest.java index 1a89b90eacbd..eb2d4db4157b 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineToAnonymousClassTest.java @@ -255,7 +255,7 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase { doTest(true, false); } - public void testSealed() { + public void testSealedNoMembers() { setLanguageLevel(LanguageLevel.JDK_16_PREVIEW); doTest(false, false); } @@ -442,7 +442,8 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase { .findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED); PsiCall callToInline = InlineToAnonymousClassHandler.findCallToInline(getEditor()); PsiClass classToInline = (PsiClass) element; - assertEquals(null, InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline)); + assertNull(InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline)); + assertTrue(new InlineToAnonymousClassHandler().canInlineElement(element)); final InlineToAnonymousClassProcessor processor = new InlineToAnonymousClassProcessor(getProject(), classToInline, callToInline, inlineThisOnly, false, searchInNonJavaFiles); UsageInfo[] usages = processor.findUsages(); @@ -493,9 +494,9 @@ public class InlineToAnonymousClassTest extends LightRefactoringTestCase { .findTargetElement(getEditor(), TargetElementUtil.ELEMENT_NAME_ACCEPTED | TargetElementUtil.REFERENCED_ELEMENT_ACCEPTED); PsiCall callToInline = InlineToAnonymousClassHandler.findCallToInline(getEditor()); PsiClass classToInline = (PsiClass) element; - assertEquals(null, InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline)); + assertNull(InlineToAnonymousClassHandler.getCannotInlineMessage(classToInline)); final PsiClassType superType = InlineToAnonymousClassProcessor.getSuperType(classToInline); - assertTrue(superType != null); + assertNotNull(superType); assertEquals(canBeInvokedOnReference, InlineToAnonymousClassHandler.canBeInvokedOnReference(callToInline, superType)); }