diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionBase.java index 90ec54d62cc7..154eaec48c1e 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionBase.java @@ -21,6 +21,7 @@ import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.*; +import com.intellij.psi.util.PropertyUtil; import com.intellij.psi.util.PsiUtilCore; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; @@ -136,6 +137,10 @@ public class IgnoreResultOfCallInspectionBase extends BaseInspection { if (PsiUtilCore.hasErrorElementChild(statement)) { return; } + if (PropertyUtil.isSimpleGetter(method)) { + registerMethodCallError(call, aClass); + return; + } if (m_reportAllNonLibraryCalls && !LibraryUtil.classIsInLibrary(aClass)) { registerMethodCallError(call, aClass); return; diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionTest.groovy b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionTest.groovy index 1ad5af5df95c..2cb55b3d4952 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionTest.groovy +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/IgnoreResultOfCallInspectionTest.groovy @@ -82,6 +82,18 @@ public class IgnoreResultOfCallInspectionTest extends LightInspectionTestCase { "}"); } + public void testRandomGetter() { + doTest("class A {" + + " private String name;" + + " public String getName() {" + + " return name;" + + " }" + + " void m() {" + + " /*Result of 'A.getName()' is ignored*/getName/**/();" + + " }" + + "}") + } + public void testJSR305Annotation2() { doTest("import javax.annotation.CheckReturnValue;" + "@CheckReturnValue " +