Move "Anonymous class may be a named 'static' inner class" inspection to "Memory issues" group

This commit is contained in:
Bas Leijdekkers
2014-09-07 16:10:46 +02:00
parent a8b9f79728
commit ed9d299aee
3 changed files with 18 additions and 21 deletions
@@ -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"/>
<localInspection language="JAVA" shortName="AnonymousInnerClassMayBeStatic" bundle="com.siyeh.InspectionGadgetsBundle"
key="anonymous.inner.may.be.named.static.inner.class.display.name" groupBundle="messages.InspectionsBundle"
groupKey="group.names.j2me.issues" enabledByDefault="false" level="WARNING"
implementationClass="com.siyeh.ig.j2me.AnonymousInnerClassMayBeStaticInspection"/>
<localInspection language="JAVA" shortName="ArrayLengthInLoopCondition" bundle="com.siyeh.InspectionGadgetsBundle"
key="array.length.in.loop.condition.display.name" groupBundle="messages.InspectionsBundle"
groupKey="group.names.j2me.issues" enabledByDefault="false" level="WARNING"
@@ -1543,6 +1539,10 @@
implementationClass="com.siyeh.ig.maturity.UseOfObsoleteDateTimeApiInspection"/>
<!--group.names.memory.issues-->
<localInspection language="JAVA" shortName="AnonymousInnerClassMayBeStatic" bundle="com.siyeh.InspectionGadgetsBundle"
key="anonymous.inner.may.be.named.static.inner.class.display.name" groupBundle="messages.InspectionsBundle"
groupKey="group.names.memory.issues" enabledByDefault="false" level="WARNING"
implementationClass="com.siyeh.ig.memory.AnonymousInnerClassMayBeStaticInspection"/>
<localInspection language="JAVA" shortName="StaticCollection" bundle="com.siyeh.InspectionGadgetsBundle" key="static.collection.display.name"
groupBundle="messages.InspectionsBundle" groupKey="group.names.memory.issues" enabledByDefault="false" level="WARNING"
implementationClass="com.siyeh.ig.memory.StaticCollectionInspection"/>
@@ -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);
}
}
}
@@ -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;