mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-623
"Unused assignment" false positive
This commit is contained in:
@@ -47,6 +47,16 @@ public class PyControlFlowBuilder extends PyRecursiveElementVisitor {
|
||||
super.visitPyStatement(node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPySubscriptionExpression(PySubscriptionExpression node) {
|
||||
myBuilder.startNode(node);
|
||||
node.getOperand().accept(this);
|
||||
final PyExpression expression = node.getIndexExpression();
|
||||
if (expression != null) {
|
||||
expression.accept(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPyReferenceExpression(final PyReferenceExpression node) {
|
||||
final PyExpression qualifier = node.getQualifier();
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.jetbrains.python.psi;
|
||||
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import com.jetbrains.python.psi.impl.PySubscriptionExpressionImpl;
|
||||
|
||||
/**
|
||||
* Visitor for python-specific nodes.
|
||||
@@ -225,4 +226,8 @@ public class PyElementVisitor extends PsiElementVisitor {
|
||||
public void visitPyStarExpression(PyStarExpression node) {
|
||||
visitPyExpression(node);
|
||||
}
|
||||
|
||||
public void visitPySubscriptionExpression(PySubscriptionExpression node) {
|
||||
visitPyExpression(node);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ public class PyAssignmentStatementImpl extends PyElementImpl implements PyAssign
|
||||
List<PyExpression> candidates = PyUtil.flattenedParens(psi_nodes); // put all possible tuples to one level
|
||||
List<PyExpression> targets = new ArrayList<PyExpression>();
|
||||
for (PyExpression expr : candidates) { // only filter out targets
|
||||
if (expr instanceof PyTargetExpression) {
|
||||
if (expr instanceof PyTargetExpression || expr instanceof PySubscriptionExpression) {
|
||||
targets.add(expr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.jetbrains.python.psi.impl;
|
||||
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.jetbrains.python.PyElementTypes;
|
||||
import com.jetbrains.python.psi.PyElementVisitor;
|
||||
import com.jetbrains.python.psi.PyExpression;
|
||||
import com.jetbrains.python.psi.PySubscriptionExpression;
|
||||
import com.jetbrains.python.psi.types.PyType;
|
||||
@@ -44,6 +45,11 @@ public class PySubscriptionExpressionImpl extends PyElementImpl implements PySub
|
||||
return childToPsi(PyElementTypes.EXPRESSIONS, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void acceptPyVisitor(final PyElementVisitor pyVisitor) {
|
||||
pyVisitor.visitPySubscriptionExpression(this);
|
||||
}
|
||||
|
||||
public PyType getType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user