diff --git a/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties b/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties index 2ebc4c5d0d33..a485318bbc6a 100644 --- a/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties +++ b/java/java-analysis-impl/resources/messages/InspectionGadgetsBundle.properties @@ -2201,7 +2201,6 @@ inspection.type.may.be.weakened.method.problem.descriptor=Return type of method inspection.type.may.be.weakened.parameter.problem.descriptor=Type of parameter #ref may be weakened to {0} #loc inspection.type.may.be.weakened.field.problem.descriptor=Type of field #ref may be weakened to {0} #loc inspection.type.may.be.weakened.quickfix=Weaken type to ''{0}'' -inspection.type.may.be.weakened.do.not.weaken.to.object.option=Do not &weaken to 'java.lang.Object' inspection.type.may.be.weakened.add.stopper=Add as Stop Class for Weakening inspection.type.may.be.weakened.add.stopper.single=Add {0} as stop class for weakening inspection.type.may.be.weakened.add.stopper.preview=The stop class will be added to the list of stop classes for this inspection. diff --git a/java/java-impl/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java b/java/java-impl/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java index 2eaf4b732bed..1e0f12fd75ed 100644 --- a/java/java-impl/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java +++ b/java/java-impl/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java @@ -61,7 +61,7 @@ public class TypeMayBeWeakenedInspection extends BaseInspection { @SuppressWarnings({"PublicField", "WeakerAccess", "unused"}) public boolean useParameterizedTypeForCollectionMethods = true; - @SuppressWarnings({"PublicField", "WeakerAccess"}) + @SuppressWarnings({"PublicField", "WeakerAccess", "unused"}) public boolean doNotWeakenToJavaLangObject = true; @SuppressWarnings("PublicField") @@ -269,8 +269,6 @@ public class TypeMayBeWeakenedInspection extends BaseInspection { @Override public @NotNull OptPane getOptionsPane() { return pane( - checkbox("doNotWeakenToJavaLangObject", - InspectionGadgetsBundle.message("inspection.type.may.be.weakened.do.not.weaken.to.object.option")), checkbox("onlyWeakentoInterface", InspectionGadgetsBundle.message("inspection.type.may.be.weakened.only.weaken.to.an.interface")), checkbox("doNotWeakenInferredVariableType", InspectionGadgetsBundle.message("inspection.type.may.be.weakened.do.not.weaken.inferred.variable.type")), @@ -464,9 +462,7 @@ public class TypeMayBeWeakenedInspection extends BaseInspection { private Collection computeWeakestClasses(@NotNull PsiElement element, @NotNull PsiClass originClass) { Collection weakestClasses = WeakestTypeFinder.calculateWeakestClassesNecessary(element, true); - if (doNotWeakenToJavaLangObject) { - weakestClasses.remove(ClassUtils.findObjectClass(element)); - } + weakestClasses.remove(ClassUtils.findObjectClass(element)); if (onlyWeakentoInterface) { weakestClasses.removeIf(weakestClass -> !weakestClass.isInterface()); } diff --git a/java/java-impl/src/inspectionDescriptions/TypeMayBeWeakened.html b/java/java-impl/src/inspectionDescriptions/TypeMayBeWeakened.html index 05a5643559fa..f8c662037454 100644 --- a/java/java-impl/src/inspectionDescriptions/TypeMayBeWeakened.html +++ b/java/java-impl/src/inspectionDescriptions/TypeMayBeWeakened.html @@ -14,11 +14,6 @@ This allows making the code more abstract, hence more reusable. } -

- Enable the Do not weaken to Object checkbox below - to specify whether a type should be weakened to java.lang.Object. - Weakening to java.lang.Object is rarely very useful. -

Enable the Only weaken to an interface checkbox below to only report a problem when the type can be weakened to an interface type. diff --git a/java/java-tests/testData/ig/com/siyeh/igtest/abstraction/weaken_type/TypeMayBeWeakened.java b/java/java-tests/testData/ig/com/siyeh/igtest/abstraction/weaken_type/TypeMayBeWeakened.java index c9b0fc439fd1..daf771a2caa8 100644 --- a/java/java-tests/testData/ig/com/siyeh/igtest/abstraction/weaken_type/TypeMayBeWeakened.java +++ b/java/java-tests/testData/ig/com/siyeh/igtest/abstraction/weaken_type/TypeMayBeWeakened.java @@ -51,7 +51,7 @@ public class TypeMayBeWeakened { foo(new WeakBoolean()); } - void foo(WeakBoolean b) { + void foo(WeakBoolean b) { System.out.println("b: " + b); } @@ -59,11 +59,11 @@ public class TypeMayBeWeakened { return s + 1; } - String foo1(String s) { + String foo1(String s) { return s + "1"; } - String foo2(String s) { + String foo2(String s) { return 1 + "2" + 3 + s; } @@ -71,7 +71,7 @@ public class TypeMayBeWeakened { return 1 + s; } - boolean equals(String s, String t) { + boolean equals(String s, String t) { return s == t; } diff --git a/java/java-tests/testSrc/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspectionTest.java b/java/java-tests/testSrc/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspectionTest.java index dedbf58f6571..37d38b92ef29 100644 --- a/java/java-tests/testSrc/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspectionTest.java +++ b/java/java-tests/testSrc/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspectionTest.java @@ -1,10 +1,11 @@ // Copyright 2000-2019 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. package com.siyeh.ig.abstraction; +import com.intellij.JavaTestUtil; import com.intellij.codeInspection.InspectionProfileEntry; import com.intellij.codeInspection.ex.EntryPointsManagerBase; import com.siyeh.ig.LightJavaInspectionTestCase; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.NotNull; public class TypeMayBeWeakenedInspectionTest extends LightJavaInspectionTestCase { @Override @@ -41,11 +42,12 @@ public class NumberAdderExtension extends NumberAdderImpl { return super.getNumberOne(); } }""", - "package java.util.function;" + - "@FunctionalInterface " + - "public interface Function {" + - " R apply(T t);" + - "}", + """ +package java.util.function; +@FunctionalInterface +public interface Function { + R apply(T t); +}""", """ package java.util.function; @FunctionalInterface @@ -57,10 +59,10 @@ public interface Supplier { @Override protected String getBasePath() { - return "/java/java-tests/testData/ig/com/siyeh/igtest/abstraction/weaken_type"; + return JavaTestUtil.getRelativeJavaTestDataPath() + "/ig/com/siyeh/igtest/abstraction/weaken_type"; } - @Nullable + @NotNull @Override protected InspectionProfileEntry getInspection() { final TypeMayBeWeakenedInspection inspection = new TypeMayBeWeakenedInspection();