diff --git a/python/src/com/jetbrains/python/refactoring/PyReplaceExpressionUtil.java b/python/src/com/jetbrains/python/refactoring/PyReplaceExpressionUtil.java index 90689fc405f9..9b4c95f7d2b2 100644 --- a/python/src/com/jetbrains/python/refactoring/PyReplaceExpressionUtil.java +++ b/python/src/com/jetbrains/python/refactoring/PyReplaceExpressionUtil.java @@ -441,7 +441,10 @@ public class PyReplaceExpressionUtil implements PyElementTypes { private static int getExpressionPriority(PyElement expr) { int priority = 0; - if (expr instanceof PySubscriptionExpression || expr instanceof PySliceExpression || expr instanceof PyCallExpression) priority = 1; + if (expr instanceof PyReferenceExpression || + expr instanceof PySubscriptionExpression || + expr instanceof PySliceExpression || + expr instanceof PyCallExpression) priority = 1; else if (expr instanceof PyPrefixExpression) { final IElementType opType = getOperationType(expr); if (opType == PLUS || opType == MINUS || opType == TILDE) priority = 2; diff --git a/python/testData/refactoring/inlinelocal/methodCallInlinedAsQualifier.after.py b/python/testData/refactoring/inlinelocal/methodCallInlinedAsQualifier.after.py new file mode 100644 index 000000000000..1a3f524e748a --- /dev/null +++ b/python/testData/refactoring/inlinelocal/methodCallInlinedAsQualifier.after.py @@ -0,0 +1 @@ +a.method().strip() \ No newline at end of file diff --git a/python/testData/refactoring/inlinelocal/methodCallInlinedAsQualifier.before.py b/python/testData/refactoring/inlinelocal/methodCallInlinedAsQualifier.before.py new file mode 100644 index 000000000000..4bf5d50d679c --- /dev/null +++ b/python/testData/refactoring/inlinelocal/methodCallInlinedAsQualifier.before.py @@ -0,0 +1,2 @@ +res = a.method() +res.strip() \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/refactoring/PyInlineLocalTest.java b/python/testSrc/com/jetbrains/python/refactoring/PyInlineLocalTest.java index a8b29f98daba..993c0fd794b2 100644 --- a/python/testSrc/com/jetbrains/python/refactoring/PyInlineLocalTest.java +++ b/python/testSrc/com/jetbrains/python/refactoring/PyInlineLocalTest.java @@ -104,6 +104,11 @@ public class PyInlineLocalTest extends PyTestCase { doTest(); } + // PY-13114 + public void testMethodCallInlinedAsQualifier() { + doTest(); + } + // PY-12409 public void testResultExceedsRightMargin() { final CodeStyleSettings settings = CodeStyleSettingsManager.getSettings(myFixture.getProject());