mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Proper names for Python PSI classes for comprehension expressions
They have "Py" prefix and do not contain ugly "Comprh" abbreviation anymore.
This commit is contained in:
+1
-1
@@ -18,5 +18,5 @@ package com.jetbrains.python.psi;
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public interface ComprehensionComponent {
|
||||
public interface PyComprehensionComponent {
|
||||
}
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface PyComprehensionElement extends PyExpression, PyNamedElementContainer {
|
||||
PyExpression getResultExpression();
|
||||
List<ComprehensionComponent> getComponents();
|
||||
List<ComprhForComponent> getForComponents();
|
||||
List<ComprhIfComponent> getIfComponents();
|
||||
List<PyComprehensionComponent> getComponents();
|
||||
List<PyComprehensionForComponent> getForComponents();
|
||||
List<PyComprehensionIfComponent> getIfComponents();
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ package com.jetbrains.python.psi;
|
||||
* User: dcheryasov
|
||||
* Date: Jul 31, 2008
|
||||
*/
|
||||
public interface ComprhForComponent extends ComprehensionComponent {
|
||||
public interface PyComprehensionForComponent extends PyComprehensionComponent {
|
||||
PyExpression getIteratorVariable();
|
||||
PyExpression getIteratedList();
|
||||
boolean isAsync();
|
||||
+1
-1
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
* User: dcheryasov
|
||||
* Date: Jul 31, 2008
|
||||
*/
|
||||
public interface ComprhIfComponent extends ComprehensionComponent {
|
||||
public interface PyComprehensionIfComponent extends PyComprehensionComponent {
|
||||
@Nullable
|
||||
PyExpression getTest();
|
||||
}
|
||||
@@ -680,9 +680,9 @@ public class PyControlFlowBuilder extends PyRecursiveElementVisitor {
|
||||
myBuilder.startNode(node);
|
||||
List<Instruction> iterators = new ArrayList<>();
|
||||
|
||||
for (ComprehensionComponent component : node.getComponents()) {
|
||||
if (component instanceof ComprhForComponent) {
|
||||
final ComprhForComponent c = (ComprhForComponent) component;
|
||||
for (PyComprehensionComponent component : node.getComponents()) {
|
||||
if (component instanceof PyComprehensionForComponent) {
|
||||
final PyComprehensionForComponent c = (PyComprehensionForComponent) component;
|
||||
final PyExpression iteratedList = c.getIteratedList();
|
||||
final PyExpression iteratorVariable = c.getIteratorVariable();
|
||||
if (prevCondition != null) {
|
||||
@@ -706,8 +706,8 @@ public class PyControlFlowBuilder extends PyRecursiveElementVisitor {
|
||||
// Inner "for" and "if" constructs will be linked to all outer iterators
|
||||
iterators.add(iterator);
|
||||
}
|
||||
else if (component instanceof ComprhIfComponent) {
|
||||
final ComprhIfComponent c = (ComprhIfComponent) component;
|
||||
else if (component instanceof PyComprehensionIfComponent) {
|
||||
final PyComprehensionIfComponent c = (PyComprehensionIfComponent) component;
|
||||
final PyExpression condition = c.getTest();
|
||||
if (condition == null) {
|
||||
continue;
|
||||
|
||||
+7
-7
@@ -93,19 +93,19 @@ public class ReplaceListComprehensionWithForIntention implements IntentionAction
|
||||
|
||||
private static PyForStatement createForLoop(final PyListCompExpression expression, final PyElementGenerator elementGenerator,
|
||||
final String result) {
|
||||
final List<ComprehensionComponent> components = expression.getComponents();
|
||||
final List<PyComprehensionComponent> components = expression.getComponents();
|
||||
final StringBuilder stringBuilder = new StringBuilder();
|
||||
int slashNum = 1;
|
||||
for (ComprehensionComponent component : components) {
|
||||
if (component instanceof ComprhForComponent) {
|
||||
for (PyComprehensionComponent component : components) {
|
||||
if (component instanceof PyComprehensionForComponent) {
|
||||
stringBuilder.append("for ");
|
||||
stringBuilder.append(((ComprhForComponent)component).getIteratorVariable().getText());
|
||||
stringBuilder.append(((PyComprehensionForComponent)component).getIteratorVariable().getText());
|
||||
stringBuilder.append(" in ");
|
||||
stringBuilder.append(((ComprhForComponent)component).getIteratedList().getText());
|
||||
stringBuilder.append(((PyComprehensionForComponent)component).getIteratedList().getText());
|
||||
stringBuilder.append(":\n");
|
||||
}
|
||||
if (component instanceof ComprhIfComponent) {
|
||||
final PyExpression test = ((ComprhIfComponent)component).getTest();
|
||||
if (component instanceof PyComprehensionIfComponent) {
|
||||
final PyExpression test = ((PyComprehensionIfComponent)component).getTest();
|
||||
if (test != null) {
|
||||
stringBuilder.append("if ");
|
||||
stringBuilder.append(test.getText());
|
||||
|
||||
@@ -130,7 +130,7 @@ public class PyTypeCheckerInspection extends PyInspection {
|
||||
public void visitPyComprehensionElement(PyComprehensionElement node) {
|
||||
super.visitPyComprehensionElement(node);
|
||||
|
||||
for (ComprhForComponent forComponent : node.getForComponents()) {
|
||||
for (PyComprehensionForComponent forComponent : node.getForComponents()) {
|
||||
checkIteratedValue(forComponent.getIteratedList(), forComponent.isAsync());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,20 +57,20 @@ public class ConvertDictCompQuickFix implements LocalQuickFix {
|
||||
final PyElementGenerator elementGenerator = PyElementGenerator.getInstance(project);
|
||||
assert keyValueExpression.getValue() != null;
|
||||
|
||||
final List<ComprehensionComponent> components = expression.getComponents();
|
||||
final List<PyComprehensionComponent> components = expression.getComponents();
|
||||
final StringBuilder replacement = new StringBuilder("dict([(" + keyValueExpression.getKey().getText() + ", " +
|
||||
keyValueExpression.getValue().getText() + ")");
|
||||
int slashNum = 1;
|
||||
for (ComprehensionComponent component : components) {
|
||||
if (component instanceof ComprhForComponent) {
|
||||
for (PyComprehensionComponent component : components) {
|
||||
if (component instanceof PyComprehensionForComponent) {
|
||||
replacement.append("for ");
|
||||
replacement.append(((ComprhForComponent)component).getIteratorVariable().getText());
|
||||
replacement.append(((PyComprehensionForComponent)component).getIteratorVariable().getText());
|
||||
replacement.append(" in ");
|
||||
replacement.append(((ComprhForComponent)component).getIteratedList().getText());
|
||||
replacement.append(((PyComprehensionForComponent)component).getIteratedList().getText());
|
||||
replacement.append(" ");
|
||||
}
|
||||
if (component instanceof ComprhIfComponent) {
|
||||
final PyExpression test = ((ComprhIfComponent)component).getTest();
|
||||
if (component instanceof PyComprehensionIfComponent) {
|
||||
final PyExpression test = ((PyComprehensionIfComponent)component).getTest();
|
||||
if (test != null) {
|
||||
replacement.append("if ");
|
||||
replacement.append(test.getText());
|
||||
|
||||
@@ -53,11 +53,11 @@ public abstract class PyComprehensionElementImpl extends PyElementImpl implement
|
||||
* In "[x+1 for x in (1,2,3)]" a "for component" is "x".
|
||||
* @return all "for components"
|
||||
*/
|
||||
public List<ComprhForComponent> getForComponents() {
|
||||
final List<ComprhForComponent> list = new ArrayList<>(5);
|
||||
public List<PyComprehensionForComponent> getForComponents() {
|
||||
final List<PyComprehensionForComponent> list = new ArrayList<>(5);
|
||||
visitComponents(new ComprehensionElementVisitor() {
|
||||
@Override
|
||||
void visitForComponent(ComprhForComponent component) {
|
||||
void visitForComponent(PyComprehensionForComponent component) {
|
||||
list.add(component);
|
||||
}
|
||||
});
|
||||
@@ -81,7 +81,7 @@ public abstract class PyComprehensionElementImpl extends PyElementImpl implement
|
||||
.map(asyncNode -> asyncNode.getElementType() == PyTokenTypes.ASYNC_KEYWORD)
|
||||
.orElse(false);
|
||||
|
||||
visitor.visitForComponent(new ComprhForComponent() {
|
||||
visitor.visitForComponent(new PyComprehensionForComponent() {
|
||||
public PyExpression getIteratorVariable() {
|
||||
return variable;
|
||||
}
|
||||
@@ -98,7 +98,7 @@ public abstract class PyComprehensionElementImpl extends PyElementImpl implement
|
||||
}
|
||||
else if (type == PyTokenTypes.IF_KEYWORD) {
|
||||
final PyExpression test = (PyExpression)next.getPsi();
|
||||
visitor.visitIfComponent(new ComprhIfComponent() {
|
||||
visitor.visitIfComponent(new PyComprehensionIfComponent() {
|
||||
public PyExpression getTest() {
|
||||
return test;
|
||||
}
|
||||
@@ -108,27 +108,27 @@ public abstract class PyComprehensionElementImpl extends PyElementImpl implement
|
||||
}
|
||||
}
|
||||
|
||||
public List<ComprhIfComponent> getIfComponents() {
|
||||
final List<ComprhIfComponent> list = new ArrayList<>(5);
|
||||
public List<PyComprehensionIfComponent> getIfComponents() {
|
||||
final List<PyComprehensionIfComponent> list = new ArrayList<>(5);
|
||||
visitComponents(new ComprehensionElementVisitor() {
|
||||
@Override
|
||||
void visitIfComponent(ComprhIfComponent component) {
|
||||
void visitIfComponent(PyComprehensionIfComponent component) {
|
||||
list.add(component);
|
||||
}
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<ComprehensionComponent> getComponents() {
|
||||
final List<ComprehensionComponent> list = new ArrayList<>(5);
|
||||
public List<PyComprehensionComponent> getComponents() {
|
||||
final List<PyComprehensionComponent> list = new ArrayList<>(5);
|
||||
visitComponents(new ComprehensionElementVisitor() {
|
||||
@Override
|
||||
void visitForComponent(ComprhForComponent component) {
|
||||
void visitForComponent(PyComprehensionForComponent component) {
|
||||
list.add(component);
|
||||
}
|
||||
|
||||
@Override
|
||||
void visitIfComponent(ComprhIfComponent component) {
|
||||
void visitIfComponent(PyComprehensionIfComponent component) {
|
||||
list.add(component);
|
||||
}
|
||||
});
|
||||
@@ -148,10 +148,10 @@ public abstract class PyComprehensionElementImpl extends PyElementImpl implement
|
||||
@NotNull
|
||||
public List<PsiNamedElement> getNamedElements() {
|
||||
// extract whatever names are defined in "for" components
|
||||
List<ComprhForComponent> fors = getForComponents();
|
||||
List<PyComprehensionForComponent> fors = getForComponents();
|
||||
PyExpression[] for_targets = new PyExpression[fors.size()];
|
||||
int i = 0;
|
||||
for (ComprhForComponent for_comp : fors) {
|
||||
for (PyComprehensionForComponent for_comp : fors) {
|
||||
for_targets[i] = for_comp.getIteratorVariable();
|
||||
i += 1;
|
||||
}
|
||||
@@ -171,10 +171,10 @@ public abstract class PyComprehensionElementImpl extends PyElementImpl implement
|
||||
}
|
||||
|
||||
abstract class ComprehensionElementVisitor {
|
||||
void visitIfComponent(ComprhIfComponent component) {
|
||||
void visitIfComponent(PyComprehensionIfComponent component) {
|
||||
}
|
||||
|
||||
void visitForComponent(ComprhForComponent component) {
|
||||
void visitForComponent(PyComprehensionForComponent component) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,10 +59,10 @@ public class PyGeneratorExpressionImpl extends PyComprehensionElementImpl implem
|
||||
@NotNull
|
||||
public List<PsiNamedElement> getNamedElements() {
|
||||
// extract whatever names are defined in "for" components
|
||||
List<ComprhForComponent> fors = getForComponents();
|
||||
List<PyComprehensionForComponent> fors = getForComponents();
|
||||
PyExpression[] for_targets = new PyExpression[fors.size()];
|
||||
int i = 0;
|
||||
for (ComprhForComponent for_comp : fors) {
|
||||
for (PyComprehensionForComponent for_comp : fors) {
|
||||
for_targets[i] = for_comp.getIteratorVariable();
|
||||
i += 1;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ package com.jetbrains.python.psi.impl;
|
||||
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.jetbrains.python.psi.ComprhForComponent;
|
||||
import com.jetbrains.python.psi.PyComprehensionForComponent;
|
||||
import com.jetbrains.python.psi.PyExpression;
|
||||
import com.jetbrains.python.psi.PyListCompExpression;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -35,7 +35,7 @@ public class PyListCompExpressionNavigator {
|
||||
if (listCompExpression == null){
|
||||
return null;
|
||||
}
|
||||
for (ComprhForComponent component : listCompExpression.getForComponents()) {
|
||||
for (PyComprehensionForComponent component : listCompExpression.getForComponents()) {
|
||||
final PyExpression variable = component.getIteratorVariable();
|
||||
if (variable != null && PsiTreeUtil.isAncestor(variable, element, false)){
|
||||
return listCompExpression;
|
||||
|
||||
@@ -320,7 +320,7 @@ public class PyTargetExpressionImpl extends PyBaseElementImpl<PyTargetExpression
|
||||
}
|
||||
final PyComprehensionElement comprh = PsiTreeUtil.getParentOfType(this, PyComprehensionElement.class);
|
||||
if (comprh != null) {
|
||||
for (ComprhForComponent c : comprh.getForComponents()) {
|
||||
for (PyComprehensionForComponent c : comprh.getForComponents()) {
|
||||
final PyExpression expr = c.getIteratorVariable();
|
||||
if (PsiTreeUtil.isAncestor(expr, this, false)) {
|
||||
target = expr;
|
||||
|
||||
@@ -577,7 +577,7 @@ public class PyReferenceImpl implements PsiReferenceEx, PsiPolyVariantReference
|
||||
}
|
||||
|
||||
private static boolean containsDeclaration(@NotNull PyComprehensionElement comprehensionElement, @NotNull String variableName) {
|
||||
for (ComprhForComponent forComponent : comprehensionElement.getForComponents()) {
|
||||
for (PyComprehensionForComponent forComponent : comprehensionElement.getForComponents()) {
|
||||
final PyExpression iteratorVariable = forComponent.getIteratorVariable();
|
||||
|
||||
if (iteratorVariable instanceof PyTupleExpression) {
|
||||
|
||||
@@ -265,7 +265,7 @@ public abstract class CompatibilityVisitor extends PyAnnotator {
|
||||
public void visitPyListCompExpression(final PyListCompExpression node) {
|
||||
super.visitPyListCompExpression(node);
|
||||
|
||||
final List<PyExpression> nodes = node.getForComponents().stream().map(ComprhForComponent::getIteratedList).collect(Collectors.toList());
|
||||
final List<PyExpression> nodes = node.getForComponents().stream().map(PyComprehensionForComponent::getIteratedList).collect(Collectors.toList());
|
||||
registerForAllMatchingVersions(level -> UnsupportedFeaturesUtil.visitPyListCompExpression(node, level),
|
||||
" not support this syntax in list comprehensions.",
|
||||
nodes,
|
||||
|
||||
@@ -144,9 +144,9 @@ public class UnsupportedFeaturesUtil {
|
||||
}
|
||||
|
||||
public static boolean visitPyListCompExpression(final PyListCompExpression node, LanguageLevel versionToProcess) {
|
||||
final List<ComprhForComponent> forComponents = node.getForComponents();
|
||||
final List<PyComprehensionForComponent> forComponents = node.getForComponents();
|
||||
if (versionToProcess.isPy3K()) {
|
||||
for (ComprhForComponent forComponent : forComponents) {
|
||||
for (PyComprehensionForComponent forComponent : forComponents) {
|
||||
final PyExpression iteratedList = forComponent.getIteratedList();
|
||||
if (iteratedList instanceof PyTupleExpression) {
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user