mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[devkit] merge InternalInspection into DevKitInspectionBase
all inspections will now run only in plugin projects
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
* Copyright 2000-2016 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.
|
||||
@@ -16,10 +16,12 @@
|
||||
package org.jetbrains.idea.devkit.inspections;
|
||||
|
||||
import com.intellij.codeInspection.BaseJavaLocalInspectionTool;
|
||||
import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.openapi.actionSystem.ActionGroup;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtil;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.paths.PathReference;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -39,6 +41,7 @@ import org.jetbrains.idea.devkit.module.PluginModuleType;
|
||||
import org.jetbrains.idea.devkit.util.ActionType;
|
||||
import org.jetbrains.idea.devkit.util.ComponentType;
|
||||
import org.jetbrains.idea.devkit.util.DescriptorUtil;
|
||||
import org.jetbrains.idea.devkit.util.PsiUtil;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -53,6 +56,30 @@ public abstract class DevKitInspectionBase extends BaseJavaLocalInspectionTool {
|
||||
return DevKitBundle.message("inspections.group.name");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public final PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return isAllowed(holder) ? buildInternalVisitor(holder, isOnTheFly) : PsiElementVisitor.EMPTY_VISITOR;
|
||||
}
|
||||
|
||||
protected boolean isAllowed(ProblemsHolder holder) {
|
||||
if (PsiUtil.isIdeaProject(holder.getProject())) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Module module = ModuleUtilCore.findModuleForPsiElement(holder.getFile());
|
||||
if (PluginModuleType.isPluginModuleOrDependency(module)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// always run in tests
|
||||
return ApplicationManager.getApplication().isUnitTestMode();
|
||||
}
|
||||
|
||||
protected PsiElementVisitor buildInternalVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return super.buildVisitor(holder, isOnTheFly);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected static Set<PsiClass> getRegistrationTypes(PsiClass psiClass, boolean includeActions) {
|
||||
final Project project = psiClass.getProject();
|
||||
@@ -62,7 +89,7 @@ public abstract class DevKitInspectionBase extends BaseJavaLocalInspectionTool {
|
||||
|
||||
final VirtualFile virtualFile = psiFile.getVirtualFile();
|
||||
if (virtualFile == null) return null;
|
||||
final Module module = ModuleUtil.findModuleForFile(virtualFile, project);
|
||||
final Module module = ModuleUtilCore.findModuleForFile(virtualFile, project);
|
||||
|
||||
if (module == null) return null;
|
||||
|
||||
@@ -200,7 +227,7 @@ public abstract class DevKitInspectionBase extends BaseJavaLocalInspectionTool {
|
||||
private void addType(PsiClass clazz) {
|
||||
if (myTypes == null) {
|
||||
//noinspection unchecked
|
||||
myTypes = ContainerUtil.<PsiClass>newIdentityTroveSet(2);
|
||||
myTypes = ContainerUtil.newIdentityTroveSet(2);
|
||||
}
|
||||
myTypes.add(clazz);
|
||||
}
|
||||
|
||||
@@ -33,9 +33,9 @@ import org.jetbrains.idea.devkit.inspections.quickfix.ConvertToGrayQuickFix;
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public class UseGrayInspection extends DevKitInspectionBase {
|
||||
@NotNull
|
||||
|
||||
@Override
|
||||
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
|
||||
protected PsiElementVisitor buildInternalVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
@Override
|
||||
public void visitNewExpression(PsiNewExpression expression) {
|
||||
|
||||
@@ -18,8 +18,8 @@ package org.jetbrains.idea.devkit.inspections.internal;
|
||||
import com.intellij.codeInspection.ProblemHighlightType;
|
||||
import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.psi.*;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
import org.jetbrains.idea.devkit.inspections.quickfix.ChangeToPairCreateQuickFix;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -27,7 +27,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public class DontUseNewPairInspection extends InternalInspection {
|
||||
public class DontUseNewPairInspection extends DevKitInspectionBase {
|
||||
private static final String PAIR_FQN = "com.intellij.openapi.util.Pair";
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,8 +19,9 @@ import com.intellij.codeInspection.ProblemHighlightType;
|
||||
import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.psi.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
public class FileEqualsUsageInspection extends InternalInspection {
|
||||
public class FileEqualsUsageInspection extends DevKitInspectionBase {
|
||||
static final String MESSAGE =
|
||||
"Do not use File.equals/hashCode/compareTo as they don't honor case-sensitivity on MacOS. " +
|
||||
"Please use FileUtil.filesEquals/fileHashCode/compareFiles instead";
|
||||
|
||||
+3
-1
@@ -23,10 +23,12 @@ import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.ui.ColoredListCellRenderer;
|
||||
import com.intellij.ui.ListCellRendererWrapper;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class GtkPreferredJComboBoxRendererInspection extends InternalInspection {
|
||||
public class GtkPreferredJComboBoxRendererInspection extends DevKitInspectionBase {
|
||||
|
||||
private static final String COMBO_BOX_CLASS_NAME = JComboBox.class.getName();
|
||||
private static final String[] RIGHT_RENDERER_CLASS_NAMES =
|
||||
{ListCellRendererWrapper.class.getName(), ColoredListCellRenderer.class.getName()};
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
* 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 org.jetbrains.idea.devkit.inspections.internal;
|
||||
|
||||
import com.intellij.codeInspection.BaseJavaLocalInspectionTool;
|
||||
import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.module.PluginModuleType;
|
||||
import org.jetbrains.idea.devkit.util.PsiUtil;
|
||||
|
||||
public abstract class InternalInspection extends BaseJavaLocalInspectionTool {
|
||||
@NotNull
|
||||
@Override
|
||||
public final PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return isAllowed(holder) ? buildInternalVisitor(holder, isOnTheFly) : PsiElementVisitor.EMPTY_VISITOR;
|
||||
}
|
||||
|
||||
private boolean isAllowed(ProblemsHolder holder) {
|
||||
if (PsiUtil.isIdeaProject(holder.getProject())) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Module module = ModuleUtilCore.findModuleForPsiElement(holder.getFile());
|
||||
if (PluginModuleType.isPluginModuleOrDependency(module)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//seems that internal inspection tests should test in most cases the inspection
|
||||
//and not that internal inspections are not available in non-idea non-plugin projects
|
||||
return isAllowedByDefault();
|
||||
}
|
||||
|
||||
protected boolean isAllowedByDefault() {
|
||||
return ApplicationManager.getApplication().isUnitTestMode();
|
||||
}
|
||||
|
||||
public abstract PsiElementVisitor buildInternalVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly);
|
||||
}
|
||||
@@ -28,12 +28,13 @@ import com.intellij.ui.treeStructure.Tree;
|
||||
import com.intellij.util.QueryExecutor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Map;
|
||||
|
||||
public class UndesirableClassUsageInspection extends InternalInspection {
|
||||
public class UndesirableClassUsageInspection extends DevKitInspectionBase {
|
||||
|
||||
private static final Map<String, String> CLASSES = ContainerUtil.<String, String>immutableMapBuilder()
|
||||
.put(JList.class.getName(), JBList.class.getName())
|
||||
|
||||
@@ -25,8 +25,9 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
public class UnsafeReturnStatementVisitorInspection extends InternalInspection {
|
||||
public class UnsafeReturnStatementVisitorInspection extends DevKitInspectionBase {
|
||||
|
||||
private static final String BASE_WALKING_VISITOR_NAME = JavaRecursiveElementWalkingVisitor.class.getName();
|
||||
private static final String BASE_VISITOR_NAME = JavaRecursiveElementVisitor.class.getName();
|
||||
|
||||
@@ -24,8 +24,9 @@ import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
public class UnsafeVfsRecursionInspection extends InternalInspection {
|
||||
public class UnsafeVfsRecursionInspection extends DevKitInspectionBase {
|
||||
private static final String VIRTUAL_FILE_CLASS_NAME = VirtualFile.class.getName();
|
||||
private static final String GET_CHILDREN_METHOD_NAME = "getChildren";
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.codeInspection.ProblemsHolder;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
import org.jetbrains.idea.devkit.inspections.quickfix.UseCoupleQuickFix;
|
||||
|
||||
import java.util.List;
|
||||
@@ -27,7 +28,7 @@ import java.util.List;
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public class UseCoupleInspection extends InternalInspection {
|
||||
public class UseCoupleInspection extends DevKitInspectionBase {
|
||||
private static final String PAIR_FQN = "com.intellij.openapi.util.Pair";
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,12 +26,13 @@ import com.intellij.util.ui.JBInsets;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
import org.jetbrains.idea.devkit.inspections.quickfix.ConvertToJBInsetsQuickFix;
|
||||
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public class UseDPIAwareInsetsInspection extends InternalInspection {
|
||||
public class UseDPIAwareInsetsInspection extends DevKitInspectionBase {
|
||||
@Override
|
||||
public PsiElementVisitor buildInternalVisitor(@NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.ui.JBColor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
import org.jetbrains.idea.devkit.inspections.quickfix.ConvertToJBColorConstantQuickFix;
|
||||
import org.jetbrains.idea.devkit.inspections.quickfix.ConvertToJBColorQuickFix;
|
||||
|
||||
@@ -34,7 +35,7 @@ import java.awt.*;
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
public class UseJBColorInspection extends InternalInspection {
|
||||
public class UseJBColorInspection extends DevKitInspectionBase {
|
||||
@Override
|
||||
public PsiElementVisitor buildInternalVisitor(@NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
@@ -27,8 +27,9 @@ import com.siyeh.ig.PsiReplacementUtil;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
public class UsePrimitiveTypesInspection extends InternalInspection {
|
||||
public class UsePrimitiveTypesInspection extends DevKitInspectionBase {
|
||||
@Override
|
||||
public PsiElementVisitor buildInternalVisitor(@NotNull final ProblemsHolder holder, final boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
@@ -22,11 +22,12 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.siyeh.ig.psiutils.ComparisonUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionBase;
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
public class UseVirtualFileEqualsInspection extends InternalInspection {
|
||||
public class UseVirtualFileEqualsInspection extends DevKitInspectionBase {
|
||||
@Override
|
||||
public PsiElementVisitor buildInternalVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
|
||||
return new JavaElementVisitor() {
|
||||
|
||||
Reference in New Issue
Block a user