[project] fixing simple "zero-tolerance inspection" problems

GitOrigin-RevId: a2ed3b1983adba46cd998d7bd1f7f3e7a165d8c5
This commit is contained in:
Roman Shevchenko
2024-05-12 19:48:00 +02:00
committed by intellij-monorepo-bot
parent 7b0adc910b
commit fb5023db6b
7 changed files with 78 additions and 78 deletions

View File

@@ -0,0 +1,62 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.util.xml.ui;
import com.intellij.ide.util.ClassFilter;
import com.intellij.ide.util.TreeClassChooser;
import com.intellij.ide.util.TreeClassChooserFactory;
import com.intellij.java.JavaBundle;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.ui.ReferenceEditorWithBrowseButton;
import com.intellij.util.xml.DomElement;
import com.intellij.util.xml.ExtendClass;
import com.intellij.util.xml.GenericDomValue;
import javax.swing.*;
abstract class JavaControlBase<T extends JComponent> extends EditorTextFieldControl<T> {
protected JavaControlBase(DomWrapper<String> domWrapper, boolean commitOnEveryChange) {
super(domWrapper, commitOnEveryChange);
}
protected void setValue(PsiClass value) {
super.setValue(value.getQualifiedName());
}
protected static <T extends JPanel> T initReferenceEditorWithBrowseButton(
T boundedComponent,
ReferenceEditorWithBrowseButton editor,
JavaControlBase<?> control
) {
boundedComponent.removeAll();
boundedComponent.add(editor);
GlobalSearchScope resolveScope = control.getDomWrapper().getResolveScope();
editor.addActionListener(e -> {
DomElement domElement = control.getDomElement();
ExtendClass extend = domElement.getAnnotation(ExtendClass.class);
PsiClass baseClass = null;
ClassFilter filter = null;
if (extend != null) {
if (extend.value().length == 1) baseClass = JavaPsiFacade.getInstance(control.getProject()).findClass(extend.value()[0], resolveScope);
if (extend.instantiatable()) {
filter = ClassFilter.INSTANTIABLE;
}
}
PsiClass initialClass = null;
if (domElement instanceof GenericDomValue && ((GenericDomValue<?>)domElement).getValue() instanceof PsiClass psiClass) {
initialClass = psiClass;
}
TreeClassChooser chooser = TreeClassChooserFactory.getInstance(control.getProject())
.createInheritanceClassChooser(JavaBundle.message("choose.class"), resolveScope, baseClass, initialClass, filter);
chooser.showDialog();
PsiClass psiClass = chooser.getSelected();
if (psiClass != null) {
control.setValue(psiClass);
}
});
return boundedComponent;
}
}

View File

@@ -1,38 +1,19 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.util.xml.ui;
import com.intellij.ide.util.ClassFilter;
import com.intellij.ide.util.TreeClassChooser;
import com.intellij.ide.util.TreeClassChooserFactory;
import com.intellij.java.JavaBundle;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
import com.intellij.psi.IntentionFilterOwner;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.impl.source.PsiCodeFragmentImpl;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.ui.EditorTextField;
import com.intellij.ui.JavaReferenceEditorUtil;
import com.intellij.ui.ReferenceEditorWithBrowseButton;
import com.intellij.util.xml.DomElement;
import com.intellij.util.xml.ExtendClass;
import com.intellij.util.xml.GenericDomValue;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class PsiClassControl extends EditorTextFieldControl<PsiClassPanel> {
public PsiClassControl(final DomWrapper<String> domWrapper) {
super(domWrapper);
}
public PsiClassControl(final DomWrapper<String> domWrapper, final boolean commitOnEveryChange) {
public class PsiClassControl extends JavaControlBase<PsiClassPanel> {
public PsiClassControl(DomWrapper<String> domWrapper, boolean commitOnEveryChange) {
super(domWrapper, commitOnEveryChange);
}
@@ -54,45 +35,4 @@ public class PsiClassControl extends EditorTextFieldControl<PsiClassPanel> {
fragment.putUserData(ModuleUtil.KEY_MODULE, getDomWrapper().getExistingDomElement().getModule());
return initReferenceEditorWithBrowseButton(boundedComponent, editor, this);
}
protected static <T extends JPanel> T initReferenceEditorWithBrowseButton(final T boundedComponent,
final ReferenceEditorWithBrowseButton editor,
final EditorTextFieldControl control) {
boundedComponent.removeAll();
boundedComponent.add(editor);
final GlobalSearchScope resolveScope = control.getDomWrapper().getResolveScope();
editor.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
final DomElement domElement = control.getDomElement();
ExtendClass extend = domElement.getAnnotation(ExtendClass.class);
PsiClass baseClass = null;
ClassFilter filter = null;
if (extend != null) {
if (extend.value().length == 1) baseClass = JavaPsiFacade.getInstance(control.getProject()).findClass(extend.value()[0], resolveScope);
if (extend.instantiatable()) {
filter = ClassFilter.INSTANTIABLE;
}
}
PsiClass initialClass = null;
if (domElement instanceof GenericDomValue) {
final Object value = ((GenericDomValue<?>)domElement).getValue();
if (value instanceof PsiClass)
initialClass = (PsiClass)value;
}
TreeClassChooser chooser = TreeClassChooserFactory.getInstance(control.getProject())
.createInheritanceClassChooser(JavaBundle.message("choose.class"), resolveScope, baseClass, initialClass, filter);
chooser.showDialog();
final PsiClass psiClass = chooser.getSelected();
if (psiClass != null) {
control.setValue(psiClass.getQualifiedName());
}
}
});
return boundedComponent;
}
}

View File

@@ -13,9 +13,8 @@ import com.intellij.util.xml.DomElement;
import com.intellij.util.xml.JvmPsiTypeConverterImpl;
import org.jetbrains.annotations.NotNull;
public class PsiTypeControl extends EditorTextFieldControl<PsiTypePanel> {
public PsiTypeControl(final DomWrapper<String> domWrapper, final boolean commitOnEveryChange) {
public class PsiTypeControl extends JavaControlBase<PsiTypePanel> {
public PsiTypeControl(DomWrapper<String> domWrapper, boolean commitOnEveryChange) {
super(domWrapper, commitOnEveryChange);
}
@@ -58,10 +57,8 @@ public class PsiTypeControl extends EditorTextFieldControl<PsiTypePanel> {
if (boundedComponent == null) {
boundedComponent = new PsiTypePanel();
}
return PsiClassControl.initReferenceEditorWithBrowseButton(boundedComponent,
new ReferenceEditorWithBrowseButton(null, project,
s -> JavaReferenceEditorUtil.createTypeDocument(s, project), ""), this);
return initReferenceEditorWithBrowseButton(
boundedComponent,
new ReferenceEditorWithBrowseButton(null, project, s -> JavaReferenceEditorUtil.createTypeDocument(s, project), ""), this);
}
}

View File

@@ -20,7 +20,7 @@ public abstract class JpsLibraryPropertiesSerializer<P extends JpsElement> exten
@Deprecated
public P loadProperties(@Nullable Element propertiesElement) {
throw new AbstractMethodError();
};
}
public P loadProperties(@Nullable Element propertiesElement, @NotNull JpsPathMapper pathMapper) {
return loadProperties(propertiesElement);

View File

@@ -1,4 +1,4 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.todo;
import com.intellij.openapi.project.Project;
@@ -20,7 +20,7 @@ import java.util.List;
import java.util.Set;
public abstract class CustomChangelistTodosTreeBuilder extends TodoTreeBuilder {
public static final TodoItem[] EMPTY_ITEMS = new TodoItem[0];
public static final TodoItem[] EMPTY_ITEMS = TodoItem.EMPTY_ARRAY;
private final PsiTodoSearchHelper myCustomPsiTodoSearchHelper;
@@ -110,7 +110,7 @@ public abstract class CustomChangelistTodosTreeBuilder extends TodoTreeBuilder {
result.add(todoItem);
}
}
return result.isEmpty() ? EMPTY_ITEMS : result.toArray(new TodoItem[0]);
return result.isEmpty() ? EMPTY_ITEMS : result.toArray(TodoItem.EMPTY_ARRAY);
}
@Override
@@ -138,7 +138,7 @@ public abstract class CustomChangelistTodosTreeBuilder extends TodoTreeBuilder {
synchronized (myMap) {
final Collection<TodoItem> todoItems = myMap.get(file);
return todoItems.isEmpty() ? EMPTY_ITEMS : todoItems.toArray(new TodoItem[0]);
return todoItems.isEmpty() ? EMPTY_ITEMS : todoItems.toArray(TodoItem.EMPTY_ARRAY);
}
}
}

View File

@@ -22,8 +22,8 @@ import org.jdom.Element
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
import org.jetbrains.kotlin.idea.codeinsight.api.classic.inspections.AbstractKotlinInspection
import org.jetbrains.kotlin.idea.quickfix.RenameIdentifierFix
import org.jetbrains.kotlin.idea.core.packageMatchesDirectoryOrImplicit
import org.jetbrains.kotlin.idea.quickfix.RenameIdentifierFix
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
@@ -363,6 +363,7 @@ class LocalVariableNameInspection : PropertyNameInspectionBase(
override fun getNamingRules(): Array<NamingRule> = arrayOf(START_LOWER, NO_UNDERSCORES, NO_BAD_CHARACTERS)
}
@Suppress("InspectionDescriptionNotFoundInspection")
private class PackageNameInspectionLocal(
val parentInspection: InspectionProfileEntry,
val namingSettings: NamingConventionInspectionSettings

View File

@@ -205,7 +205,7 @@ public abstract class BaseControl<Bound extends JComponent, T> extends DomUICont
myDomWrapper.setValue("".equals(value) ? null : value);
}
protected final Project getProject() {
public final Project getProject() {
return myDomWrapper.getProject();
}