From 186032ab9d0fa06c8cd541b29990d7487ee05c5a Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Tue, 24 Mar 2015 18:08:29 +0300 Subject: [PATCH] Added PyAugAssignmentStatement.getOperator() There was no public API for accessing the operator of an augmented assignment expression, the *Impl class was used instead which is a bad practice. --- .../com/jetbrains/python/psi/PyAugAssignmentStatement.java | 3 +++ .../python/refactoring/inline/PyInlineLocalHandler.java | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/python/psi-api/src/com/jetbrains/python/psi/PyAugAssignmentStatement.java b/python/psi-api/src/com/jetbrains/python/psi/PyAugAssignmentStatement.java index 17ea926fb536..46d483ca7104 100644 --- a/python/psi-api/src/com/jetbrains/python/psi/PyAugAssignmentStatement.java +++ b/python/psi-api/src/com/jetbrains/python/psi/PyAugAssignmentStatement.java @@ -15,6 +15,7 @@ */ package com.jetbrains.python.psi; +import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -26,4 +27,6 @@ public interface PyAugAssignmentStatement extends PyStatement { PyExpression getTarget(); @Nullable PyExpression getValue(); + @Nullable + PsiElement getOperation(); } diff --git a/python/src/com/jetbrains/python/refactoring/inline/PyInlineLocalHandler.java b/python/src/com/jetbrains/python/refactoring/inline/PyInlineLocalHandler.java index 82f42fdf9afa..910f35c3c570 100644 --- a/python/src/com/jetbrains/python/refactoring/inline/PyInlineLocalHandler.java +++ b/python/src/com/jetbrains/python/refactoring/inline/PyInlineLocalHandler.java @@ -50,7 +50,6 @@ import com.jetbrains.python.PythonLanguage; import com.jetbrains.python.codeInsight.controlflow.ReadWriteInstruction; import com.jetbrains.python.codeInsight.controlflow.ScopeOwner; import com.jetbrains.python.psi.*; -import com.jetbrains.python.psi.impl.PyAugAssignmentStatementImpl; import com.jetbrains.python.psi.impl.PyPsiUtils; import com.jetbrains.python.refactoring.PyDefUseUtil; import com.jetbrains.python.refactoring.PyReplaceExpressionUtil; @@ -315,8 +314,8 @@ public class PyInlineLocalHandler extends InlineActionHandler { private static PyExpression prepareValue(@NotNull PyStatement def, @NotNull String localName, @NotNull Project project) { final PyExpression value = getValue(def); assert value != null; - if (def instanceof PyAugAssignmentStatementImpl) { - final PyAugAssignmentStatementImpl expression = (PyAugAssignmentStatementImpl)def; + if (def instanceof PyAugAssignmentStatement) { + final PyAugAssignmentStatement expression = (PyAugAssignmentStatement)def; final PsiElement operation = expression.getOperation(); assert operation != null; final String op = operation.getText().replace('=', ' ');