diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/style/SizeReplaceableByIsEmptyInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/style/SizeReplaceableByIsEmptyInspection.java index 35f57a45f222..0ae7b1cdeb1d 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/style/SizeReplaceableByIsEmptyInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/style/SizeReplaceableByIsEmptyInspection.java @@ -22,6 +22,7 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.InheritanceUtil; +import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.OrderedSet; import com.intellij.util.ui.CheckBox; @@ -209,6 +210,9 @@ public class SizeReplaceableByIsEmptyInspection extends BaseInspection { if (aClass == null) { return null; } + if (PsiTreeUtil.isAncestor(aClass, callExpression, true)) { + return null; + } for (String ignoredType : ignoredTypes) { if (InheritanceUtil.isInheritor(aClass, ignoredType)) { return null; diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/size_replaceable_by_is_empty/SizeReplaceableByIsEmpty.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/size_replaceable_by_is_empty/SizeReplaceableByIsEmpty.java index 343e77fc7330..2f13010fbcd2 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/style/size_replaceable_by_is_empty/SizeReplaceableByIsEmpty.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/style/size_replaceable_by_is_empty/SizeReplaceableByIsEmpty.java @@ -25,4 +25,12 @@ public class SizeReplaceableByIsEmpty { return false; } } + + abstract class MyList implements java.util.List + { + public boolean isEmpty() + { + return this.size() == 0; + } + } }