/plugins/InspectionGadgets/src/com/siyeh/ig/security/PublicStaticArrayFieldInspection.java
https://bitbucket.org/nbargnesi/idea · Java · 68 lines · 46 code · 7 blank · 15 comment · 4 complexity · 4d7bc037d4b864def21de5577882e4af MD5 · raw file
- /*
- * Copyright 2003-2007 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package com.siyeh.ig.security;
- import com.intellij.psi.PsiArrayType;
- import com.intellij.psi.PsiField;
- import com.intellij.psi.PsiModifier;
- import com.intellij.psi.PsiType;
- import com.siyeh.InspectionGadgetsBundle;
- import com.siyeh.ig.BaseInspection;
- import com.siyeh.ig.BaseInspectionVisitor;
- import com.siyeh.ig.psiutils.CollectionUtils;
- import org.jetbrains.annotations.NotNull;
- public class PublicStaticArrayFieldInspection extends BaseInspection {
- @NotNull
- public String getDisplayName() {
- return InspectionGadgetsBundle.message(
- "public.static.array.field.display.name");
- }
- @NotNull
- protected String buildErrorString(Object... infos) {
- return InspectionGadgetsBundle.message(
- "public.static.array.field.problem.descriptor");
- }
- public BaseInspectionVisitor buildVisitor() {
- return new PublicStaticArrayFieldVisitor();
- }
- private static class PublicStaticArrayFieldVisitor
- extends BaseInspectionVisitor {
- @Override
- public void visitField(@NotNull PsiField field) {
- super.visitField(field);
- if (!field.hasModifierProperty(PsiModifier.PUBLIC)) {
- return;
- }
- if (!field.hasModifierProperty(PsiModifier.STATIC)) {
- return;
- }
- final PsiType type = field.getType();
- if (!(type instanceof PsiArrayType)) {
- return;
- }
- if (CollectionUtils.isConstantEmptyArray(field)) {
- return;
- }
- registerFieldError(field);
- }
- }
- }