TypeMayBeWeakenedInspection: suppress when used in injected method

IDEA-143137
This commit is contained in:
Roman.Ivanov
2018-06-22 12:26:45 +07:00
parent 7bc6c05c41
commit 48b238f2e8
@@ -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;
}