From 48b238f2e83dec58da6e42c508dce7b169464bf1 Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Fri, 22 Jun 2018 12:23:22 +0700 Subject: [PATCH] TypeMayBeWeakenedInspection: suppress when used in injected method IDEA-143137 --- .../siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java index 9613af8ff13b..e28da16f93e0 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java @@ -28,6 +28,7 @@ import com.intellij.openapi.command.undo.BasicUndoableAction; import com.intellij.openapi.command.undo.UndoManager; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.FileEditorManager; +import com.intellij.openapi.progress.ProgressIndicatorProvider; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.VerticalFlowLayout; import com.intellij.openapi.ui.popup.JBPopupFactory; @@ -40,6 +41,7 @@ import com.intellij.psi.*; import com.intellij.psi.codeStyle.JavaCodeStyleManager; import com.intellij.psi.search.searches.OverridingMethodsSearch; import com.intellij.psi.util.InheritanceUtil; +import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; import com.intellij.psi.util.PsiUtilCore; import com.intellij.ui.components.JBScrollBar; @@ -443,6 +445,10 @@ public class TypeMayBeWeakenedInspection extends AbstractBaseJavaLocalInspection } } } + if (variable instanceof PsiParameter) { + PsiMethod method = PsiTreeUtil.getParentOfType(variable, PsiMethod.class); + if (method == null || UnusedSymbolUtil.isImplicitUsage(variable.getProject(), method, null)) return; + } if (UnusedSymbolUtil.isImplicitWrite(variable) || UnusedSymbolUtil.isImplicitRead(variable)) { return; }