diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspection.java
index 6c86f0055acc..450ee2c19e95 100644
--- a/plugins/InspectionGadgets/src/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspection.java
+++ b/plugins/InspectionGadgets/src/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspection.java
@@ -17,7 +17,6 @@ package com.siyeh.ig.migration;
import com.intellij.codeInspection.ui.MultipleCheckboxOptionsPanel;
import com.intellij.lang.java.JavaLanguage;
-import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
@@ -25,7 +24,6 @@ import com.siyeh.InspectionGadgetsBundle;
import com.siyeh.ig.BaseInspection;
import com.siyeh.ig.BaseInspectionVisitor;
import com.siyeh.ig.psiutils.MethodUtils;
-import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -89,6 +87,10 @@ public class RawUseOfParameterizedTypeInspection extends BaseInspection {
if (ignoreObjectConstruction) {
return;
}
+ if (ignoreUncompilable && (expression.getArrayInitializer() != null || expression.getArrayDimensions().length > 0)) {
+ //array creation can (almost) never be generic
+ return;
+ }
final PsiJavaCodeReferenceElement classReference = expression.getClassOrAnonymousClassReference();
checkReferenceElement(classReference);
}
@@ -99,7 +101,7 @@ public class RawUseOfParameterizedTypeInspection extends BaseInspection {
return;
}
final PsiType type = typeElement.getType();
- if (type instanceof PsiArrayType) {
+ if (!(type instanceof PsiClassType)) {
return;
}
super.visitTypeElement(typeElement);
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/RawUseOfParameterizedType.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/RawUseOfParameterizedType.java
index 05ad8adcb62e..8ea536b4a914 100644
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/RawUseOfParameterizedType.java
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/RawUseOfParameterizedType.java
@@ -12,9 +12,9 @@ import java.util.concurrent.Callable;
}
class RawUseOfParameterizedType {
void array() {
- final ArrayList[] array = new ArrayList[10];
+ final ArrayList[] array =
+ new ArrayList[10];
}
-
void anonymous() {
new Callable() {
@Override
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/expected.xml b/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/expected.xml
index baf51dbec7fb..8640dafccfb1 100644
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/expected.xml
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/migration/raw_use_of_parameterized_type/expected.xml
@@ -15,6 +15,13 @@
Raw use of parameterized class <code>ArrayList</code> #loc
+
+ RawUseOfParameterizedType.java
+ 19
+ Raw use of parameterized class
+ Raw use of parameterized class <code>Callable</code> #loc
+
+
RawUseOfParameterizedType.java
32
diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspectionTest.java
index b1d68f895894..4e13d1f443ea 100644
--- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspectionTest.java
+++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/migration/RawUseOfParameterizedTypeInspectionTest.java
@@ -6,6 +6,7 @@ public class RawUseOfParameterizedTypeInspectionTest extends IGInspectionTestCas
public void test() throws Exception {
final RawUseOfParameterizedTypeInspection tool = new RawUseOfParameterizedTypeInspection();
+ tool.ignoreObjectConstruction = false;
tool.ignoreUncompilable = true;
tool.ignoreParametersOfOverridingMethods = true;
doTest("com/siyeh/igtest/migration/raw_use_of_parameterized_type", tool);