From ed9d299aeee7c43eb0186210c4ef58a33859f794 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Sat, 6 Sep 2014 10:55:51 +0200 Subject: [PATCH] Move "Anonymous class may be a named 'static' inner class" inspection to "Memory issues" group --- .../src/META-INF/InspectionGadgets.xml | 8 +++--- ...usInnerClassMayBeStaticInspectionBase.java | 27 +++++++++---------- ...nymousInnerClassMayBeStaticInspection.java | 4 +-- 3 files changed, 18 insertions(+), 21 deletions(-) rename plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/{j2me => memory}/AnonymousInnerClassMayBeStaticInspectionBase.java (69%) rename plugins/InspectionGadgets/src/com/siyeh/ig/{j2me => memory}/AnonymousInnerClassMayBeStaticInspection.java (92%) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml index e7e866b0d3e7..f7341c38e0e8 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/META-INF/InspectionGadgets.xml @@ -1151,10 +1151,6 @@ key="abstract.class.with.only.one.direct.inheritor.display.name" groupBundle="messages.InspectionsBundle" groupKey="group.names.j2me.issues" enabledByDefault="false" level="WARNING" implementationClass="com.siyeh.ig.j2me.AbstractClassWithOnlyOneDirectInheritorInspection"/> - + diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/j2me/AnonymousInnerClassMayBeStaticInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/memory/AnonymousInnerClassMayBeStaticInspectionBase.java similarity index 69% rename from plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/j2me/AnonymousInnerClassMayBeStaticInspectionBase.java rename to plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/memory/AnonymousInnerClassMayBeStaticInspectionBase.java index 4ea6a4c7290f..dd16d6da4bb6 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/j2me/AnonymousInnerClassMayBeStaticInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/memory/AnonymousInnerClassMayBeStaticInspectionBase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.siyeh.ig.j2me; +package com.siyeh.ig.memory; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; @@ -47,28 +47,25 @@ public class AnonymousInnerClassMayBeStaticInspectionBase extends BaseInspection extends BaseInspectionVisitor { @Override - public void visitClass(@NotNull PsiClass aClass) { - if (!(aClass instanceof PsiAnonymousClass)) { + public void visitAnonymousClass(@NotNull PsiAnonymousClass anonymousClass) { + if (anonymousClass instanceof PsiEnumConstantInitializer) { return; } - if (aClass instanceof PsiEnumConstantInitializer) { + final PsiMember containingMember = PsiTreeUtil.getParentOfType(anonymousClass, PsiMember.class); + if (containingMember == null || containingMember.hasModifierProperty(PsiModifier.STATIC)) { return; } - final PsiMember containingMember = - PsiTreeUtil.getParentOfType(aClass, PsiMember.class); - if (containingMember == null || - containingMember.hasModifierProperty(PsiModifier.STATIC)) { + final PsiJavaCodeReferenceElement reference = anonymousClass.getBaseClassReference(); + if (reference.resolve() == null) { + // don't warn on broken code return; } - final PsiAnonymousClass anAnonymousClass = - (PsiAnonymousClass)aClass; - final InnerClassReferenceVisitor visitor = - new InnerClassReferenceVisitor(anAnonymousClass); - anAnonymousClass.accept(visitor); + final InnerClassReferenceVisitor visitor = new InnerClassReferenceVisitor(anonymousClass); + anonymousClass.accept(visitor); if (!visitor.canInnerClassBeStatic()) { return; } - registerClassError(aClass); + registerClassError(anonymousClass); } } } diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/j2me/AnonymousInnerClassMayBeStaticInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/memory/AnonymousInnerClassMayBeStaticInspection.java similarity index 92% rename from plugins/InspectionGadgets/src/com/siyeh/ig/j2me/AnonymousInnerClassMayBeStaticInspection.java rename to plugins/InspectionGadgets/src/com/siyeh/ig/memory/AnonymousInnerClassMayBeStaticInspection.java index 6862eaf3fd14..f403f1326bd0 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/j2me/AnonymousInnerClassMayBeStaticInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/memory/AnonymousInnerClassMayBeStaticInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2008 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2014 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.siyeh.ig.j2me; +package com.siyeh.ig.memory; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.InspectionGadgetsFix;