Java: Cleanup "confusing argument to varargs method"

This commit is contained in:
Pavel Dolgov
2017-11-10 15:54:53 +03:00
parent 50f15a9bfb
commit 67e051b43a
23 changed files with 37 additions and 28 deletions
@@ -60,7 +60,7 @@ public class ArtifactBySourceFileFinderImpl extends ArtifactBySourceFileFinder {
for (ComplexPackagingElementType<?> type : PackagingElementFactory.getInstance().getComplexElementTypes()) {
ContainerUtil.addIfNotNull(trackers, type.getAllSubstitutionsModificationTracker(myProject));
}
return CachedValueProvider.Result.create(result, trackers.toArray(new ModificationTracker[trackers.size()]));
return CachedValueProvider.Result.create(result, trackers);
}, false);
}
return myFile2Artifacts;
@@ -108,7 +108,7 @@ public abstract class ParameterTablePanel extends AbstractParameterTablePanel<Va
return myTypeLabel;
}
myEditorComponent.setCell(table, row, column);
myEditorComponent.setOptions(myCurrentSelector.getTypes());
myEditorComponent.setOptions((Object[])myCurrentSelector.getTypes());
myEditorComponent.setDefaultValue(getVariableData()[row].type);
myEditorComponent.setToString(o -> ((PsiType)o).getPresentableText());
@@ -36,6 +36,7 @@ import com.intellij.refactoring.extractMethod.PrepareFailedException;
import com.intellij.refactoring.introduceVariable.IntroduceVariableBase;
import com.intellij.refactoring.util.duplicates.Match;
import com.intellij.testFramework.LightCodeInsightTestCase;
import com.intellij.util.ArrayUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -1210,7 +1211,7 @@ public class ExtractMethodTest extends LightCodeInsightTestCase {
public static boolean performExtractMethod(boolean doRefactor, boolean replaceAllDuplicates, Editor editor, PsiFile file, Project project,
final boolean extractChainedConstructor)
throws PrepareFailedException, IncorrectOperationException {
return performExtractMethod(doRefactor, replaceAllDuplicates, editor, file, project, extractChainedConstructor, null);
return performExtractMethod(doRefactor, replaceAllDuplicates, editor, file, project, extractChainedConstructor, ArrayUtil.EMPTY_INT_ARRAY);
}
public static boolean performExtractMethod(boolean doRefactor,
@@ -148,7 +148,7 @@ public class PackageSetChooserCombo extends ComponentWithBrowseButton<JComponent
((JComboBox)component).setModel(new DefaultComboBoxModel(model));
}
else {
((JBComboBoxTableCellEditorComponent)component).setOptions(model);
((JBComboBoxTableCellEditorComponent)component).setOptions((Object[])model);
}
}
@@ -18,6 +18,7 @@ package com.intellij.help.impl;
import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.ui.AppUIUtil;
import com.intellij.ui.ScreenUtil;
import com.intellij.util.ArrayUtil;
import com.intellij.util.ReflectionUtil;
import com.sun.java.help.impl.JHelpPrintHandler;
import org.jetbrains.annotations.NotNull;
@@ -640,10 +641,10 @@ class IdeaHelpBroker extends DefaultHelpBroker implements KeyListener{
// replace dialog.getOwner() with the following code
Window owner=null;
try{
Method m=Window.class.getMethod("getOwner",null);
Method m = Window.class.getMethod("getOwner", ArrayUtil.EMPTY_CLASS_ARRAY);
if(m!=null&&myDialog!=null){
owner=(Window)m.invoke(myDialog,null);
owner = (Window)m.invoke(myDialog, ArrayUtil.EMPTY_OBJECT_ARRAY);
}
} catch(NoSuchMethodError | NoSuchMethodException ex){
// as in JDK1.1
@@ -111,7 +111,7 @@ public abstract class EditorComposite implements Disposable {
@NotNull final FileEditorManagerEx fileEditorManager) {
myFile = file;
myEditors = editors;
if (NullUtils.hasNull(editors)) throw new IllegalArgumentException("Must not pass null editors in " + Arrays.asList(editors));
if (ArrayUtil.contains(null, editors)) throw new IllegalArgumentException("Must not pass null editors in " + Arrays.asList(editors));
myFileEditorManager = fileEditorManager;
myInitialFileTimeStamp = myFile.getTimeStamp();
@@ -70,6 +70,7 @@ import com.intellij.ui.docking.DockContainer;
import com.intellij.ui.docking.DockManager;
import com.intellij.ui.docking.impl.DockManagerImpl;
import com.intellij.ui.tabs.impl.JBTabsImpl;
import com.intellij.util.ArrayUtil;
import com.intellij.util.SmartList;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.io.storage.HeavyProcessLatch;
@@ -975,7 +976,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
@Nullable
private EditorWithProviderComposite createComposite(@NotNull VirtualFile file,
@NotNull FileEditor[] editors, @NotNull FileEditorProvider[] providers) {
if (NullUtils.hasNull(editors) || NullUtils.hasNull(providers)) {
if (ArrayUtil.contains(null, editors) || ArrayUtil.contains(null, providers)) {
List<FileEditor> editorList = new ArrayList<>(editors.length);
List<FileEditorProvider> providerList = new ArrayList<>(providers.length);
for (int i = 0; i < editors.length; i++) {
@@ -349,11 +349,11 @@ public class RecentProjectPanel extends JPanel {
return title;
}
private class MyList extends JBList {
private class MyList extends JBList<AnAction> {
private final Dimension mySize;
private Point myMousePoint;
private MyList(Dimension size, @NotNull Object ... listData) {
private MyList(Dimension size, @NotNull AnAction[] listData) {
super(listData);
mySize = size;
setEmptyText(" No Project Open Yet ");
@@ -49,7 +49,7 @@ public class MatrixTest extends TestCase {
public void testCreateNull() {
try {
fail("Created " + Matrix.create(0, null));
fail("Created " + Matrix.create(0, (double[])null));
}
catch (Exception ignored) {
}
@@ -40,7 +40,7 @@ public class VectorTest extends TestCase {
public void testCreateNull() {
try {
fail("Created " + Vector.create(null));
fail("Created " + Vector.create((double[])null));
}
catch (Exception ignored) {
}
@@ -443,7 +443,7 @@ public class TestAll implements Test {
Method suiteMethod = safeFindMethod(testCaseClass, "suite");
if (suiteMethod != null && !isPerformanceTestsRun()) {
return (Test)suiteMethod.invoke(null, ArrayUtil.EMPTY_CLASS_ARRAY);
return (Test)suiteMethod.invoke(null, ArrayUtil.EMPTY_OBJECT_ARRAY);
}
if (TestRunnerUtil.isJUnit4TestClass(testCaseClass)) {
@@ -967,7 +967,7 @@ public class EditorFixture {
for (HighlightInfo info : getCurrentFileFixture().getHighlightInfos(severity)) {
infos.add(info.getDescription());
}
assertThat(infos).containsOnly(highlights);
assertThat(infos).containsOnly((Object[])highlights);
return this;
}
@@ -31,7 +31,7 @@ public class LibraryFixture {
@NotNull
public LibraryFixture requireJavadocUrls(@NotNull String... urls) {
String[] actualUrls = myLibrary.getUrls(JavadocOrderRootType.getInstance());
assertThat(actualUrls).as("Javadoc URLs").containsOnly(urls);
assertThat(actualUrls).as("Javadoc URLs").containsOnly((Object[])urls);
return this;
}
}
@@ -34,6 +34,7 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImageOp;
import java.awt.image.ImageFilter;
import java.io.IOException;
import java.io.InputStream;
@@ -338,7 +339,7 @@ public class ImageLoader implements Serializable {
// Using "QUALITY" instead of "ULTRA_QUALITY" results in images that are less blurry
// because ultra quality performs a few more passes when scaling, which introduces blurriness
// when the scaling factor is relatively small (i.e. <= 3.0f) -- which is the case here.
return Scalr.resize(ImageUtil.toBufferedImage(image), Scalr.Method.QUALITY, Scalr.Mode.FIT_EXACT, width, height, null);
return Scalr.resize(ImageUtil.toBufferedImage(image), Scalr.Method.QUALITY, Scalr.Mode.FIT_EXACT, width, height, (BufferedImageOp[])null);
}
@Nullable
@@ -18,6 +18,7 @@ package com.siyeh.ig.j2me;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiMethodCallExpression;
import com.intellij.psi.PsiType;
import com.intellij.util.xmlb.XmlSerializer;
import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.psiutils.MethodCallUtils;
@@ -45,7 +46,7 @@ public class ConnectionResourceInspection extends ResourceInspection {
return false;
}
final PsiMethodCallExpression methodCallExpression = (PsiMethodCallExpression)expression;
return MethodCallUtils.isCallToMethod(methodCallExpression, "javax.microedition.io.Connector", null, "open", null);
return MethodCallUtils.isCallToMethod(methodCallExpression, "javax.microedition.io.Connector", null, "open", (PsiType[])null);
}
@Override
@@ -18,6 +18,7 @@ package com.siyeh.ig.j2me;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiMethodCallExpression;
import com.intellij.psi.PsiType;
import com.intellij.psi.PsiVariable;
import com.intellij.util.xmlb.XmlSerializer;
import com.siyeh.InspectionGadgetsBundle;
@@ -47,7 +48,7 @@ public class RecordStoreResourceInspection extends ResourceInspection {
return false;
}
final PsiMethodCallExpression methodCallExpression = (PsiMethodCallExpression)expression;
return MethodCallUtils.isCallToMethod(methodCallExpression, "javax.microedition.rms.RecordStore", null, "openRecordStore", null);
return MethodCallUtils.isCallToMethod(methodCallExpression, "javax.microedition.rms.RecordStore", null, "openRecordStore", (PsiType[])null);
}
@Override
@@ -158,8 +158,8 @@ public class HardcodedFileSeparatorsInspection extends BaseInspection {
if (grandParent instanceof PsiMethodCallExpression) {
final PsiMethodCallExpression methodCallExpression = (PsiMethodCallExpression)grandParent;
if (MethodCallUtils.isCallToRegexMethod(methodCallExpression) ||
MethodCallUtils.isCallToMethod(methodCallExpression, "java.lang.Class", null, "getResource", null) ||
MethodCallUtils.isCallToMethod(methodCallExpression, "java.lang.Class", null, "getResourceAsStream", null)) {
MethodCallUtils.isCallToMethod(methodCallExpression, "java.lang.Class", null, "getResource", (PsiType[])null) ||
MethodCallUtils.isCallToMethod(methodCallExpression, "java.lang.Class", null, "getResourceAsStream", (PsiType[])null)) {
return;
}
}
@@ -22,6 +22,7 @@ import com.siyeh.ipp.IPPTestCase;
*/
public class WrapVarargArgumentsWithExplicitArrayIntentionTest extends IPPTestCase {
@SuppressWarnings("ConfusingArgumentToVarargsMethod")
public void testNullArgument() {
doTestIntentionNotAvailable("class X {" +
" void a(String... ss) {}" +
@@ -31,6 +32,7 @@ public class WrapVarargArgumentsWithExplicitArrayIntentionTest extends IPPTestCa
"}");
}
@SuppressWarnings("RedundantArrayCreation")
public void testEnumConstants() {
doTest("enum X {" +
" A(/*_Wrap vararg arguments with explicit array creation*/1), B(1,2), C(1,2,3);" +
@@ -43,6 +45,7 @@ public class WrapVarargArgumentsWithExplicitArrayIntentionTest extends IPPTestCa
"}");
}
@SuppressWarnings("RedundantArrayCreation")
public void testConstructorCall() {
doTest("class A {" +
" A(int... is) {}" +
@@ -17,8 +17,8 @@ package org.jetbrains.plugins.groovy.refactoring.convertToJava;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.NullUtils;
import com.intellij.psi.*;
import com.intellij.util.ArrayUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement;
@@ -62,7 +62,7 @@ class ArgumentListGenerator {
}
final PsiSubstitutor substitutor = signature == null ? PsiSubstitutor.EMPTY : signature.getSubstitutor();
if (argInfos == null || NullUtils.hasNull(argInfos)) {
if (argInfos == null || ArrayUtil.contains(null, argInfos)) {
generateSimple(exprs, namedArgs, clArgs, context, substitutor);
return;
}
@@ -230,7 +230,7 @@ public class RepositoryBrowserDialog extends DialogWrapper {
myRepositoriesLabel = new JLabel(myRepositoriesLabelText);
top.add(myRepositoriesLabel);
top.add(createToolbar(true, null));
top.add(createToolbar(true, (AnAction[])null));
parentPanel.add(top, BorderLayout.NORTH);
JComponent panel = createBrowserComponent(false);
@@ -132,7 +132,7 @@ public class UndeclaredTestInspection extends AbstractBaseJavaLocalInspectionToo
LOG.assertTrue(psiFile instanceof XmlFile);
final XmlFile testngXML = (XmlFile)psiFile;
new WriteCommandAction(project, getName(), testngXML) {
protected void run(@NotNull final Result result) throws Throwable {
protected void run(@NotNull final Result result) {
patchTestngXml(testngXML, psiClass);
}
}.execute();
@@ -182,8 +182,8 @@ public class UndeclaredTestInspection extends AbstractBaseJavaLocalInspectionToo
final PsiManager psiManager = PsiManager.getInstance(project);
final PsiDirectory directory = psiManager.findDirectory(file);
LOG.assertTrue(directory != null);
new WriteCommandAction(project, getName(), null) {
protected void run(@NotNull final Result result) throws Throwable {
new WriteCommandAction(project, getName(), PsiFile.EMPTY_ARRAY) {
protected void run(@NotNull final Result result) {
XmlFile testngXml = (XmlFile)PsiFileFactory.getInstance(psiManager.getProject())
.createFileFromText("testng.xml", "<!DOCTYPE suite SYSTEM \"http://testng.org/testng-1.0.dtd\">\n<suite></suite>");
try {
@@ -73,6 +73,6 @@ public class IntRegexEditor<T> extends AbstractTextFieldEditor<T> {
params [i] = value;
}
return myValueClass.getConstructor(paramTypes).newInstance(params);
return myValueClass.getConstructor(paramTypes).newInstance((Object[])params);
}
}
@@ -232,7 +232,7 @@ public class ModelMergerImpl implements ModelMerger {
private <T> T _mergeModels(final Class<? super T> aClass, final MergingInvocationHandler<T> handler, final T... implementations) {
final Set<Class> commonClasses = getCommonClasses(new THashSet<>(), implementations);
final Set<Class> commonClasses = getCommonClasses(new THashSet<>(), (Object[])implementations);
commonClasses.add(MERGED_OBJECT_CLASS);
commonClasses.add(aClass);
final T t = AdvancedProxy.createProxy(handler, null, commonClasses.toArray(new Class[commonClasses.size()]));