mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 19:02:13 +07:00
fixed PY-6013 False positive for "Statement has no effect" in import statements in Mako templates
This commit is contained in:
@@ -12,13 +12,13 @@ import org.jetbrains.annotations.NotNull;
|
||||
*/
|
||||
public class ConsoleVisitorFilter implements PythonVisitorFilter {
|
||||
@Override
|
||||
public boolean isSupported(@NotNull Class visitorClass, @NotNull PsiFile file) {
|
||||
public boolean isSupported(@NotNull final Class visitorClass, @NotNull final PsiFile file) {
|
||||
//if we're in console
|
||||
if (PydevConsoleRunner.isInPydevConsole(file)) {
|
||||
//inspections
|
||||
if (visitorClass == PyUnusedLocalInspectionVisitor.class || visitorClass == PyUnboundLocalVariableInspection.Visitor.class ||
|
||||
visitorClass == PyStatementEffectInspection.Visitor.class || visitorClass == PySingleQuotedDocstringInspection.Visitor.class ||
|
||||
visitorClass == PyDocstringInspection.Visitor.class) {
|
||||
if (visitorClass == PyUnusedLocalInspection.class || visitorClass == PyUnboundLocalVariableInspection.class ||
|
||||
visitorClass == PyStatementEffectInspection.class || visitorClass == PySingleQuotedDocstringInspection.class ||
|
||||
visitorClass == PyDocstringInspection.class) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,12 +6,14 @@ import com.intellij.codeInspection.SuppressIntentionAction;
|
||||
import com.intellij.codeInspection.SuppressionUtil;
|
||||
import com.intellij.psi.PsiComment;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiWhiteSpace;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.actions.PySuppressInspectionFix;
|
||||
import com.jetbrains.python.codeInsight.controlflow.ScopeOwner;
|
||||
import com.jetbrains.python.psi.*;
|
||||
import com.jetbrains.python.psi.impl.PyFileImpl;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -63,7 +65,12 @@ public abstract class PyInspection extends LocalInspectionTool implements Custom
|
||||
|
||||
@Override
|
||||
public boolean isSuppressedFor(PsiElement element) {
|
||||
return isSuppressedForParent(element, PyStatement.class) ||
|
||||
final PsiFile file = element.getContainingFile();
|
||||
boolean isAccepted = true;
|
||||
if (file instanceof PyFileImpl) {
|
||||
isAccepted = ((PyFileImpl)file).isAcceptedFor(this.getClass());
|
||||
}
|
||||
return !isAccepted || isSuppressedForParent(element, PyStatement.class) ||
|
||||
isSuppressedForParent(element, PyFunction.class) ||
|
||||
isSuppressedForParent(element, PyClass.class) ||
|
||||
isSuppressForCodeFragment(element);
|
||||
|
||||
@@ -130,7 +130,7 @@ public class PyFileImpl extends PsiFileBase implements PyFile, PyExpression {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isAcceptedFor(@NotNull Class visitorClass) {
|
||||
public boolean isAcceptedFor(@NotNull Class visitorClass) {
|
||||
final FileViewProvider viewProvider = getViewProvider();
|
||||
final Language lang;
|
||||
if (viewProvider instanceof TemplateLanguageFileViewProvider) {
|
||||
|
||||
Reference in New Issue
Block a user