diff --git a/python/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java b/python/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java index f98acdefe193..2d76c28406a4 100644 --- a/python/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java +++ b/python/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java @@ -19,7 +19,6 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.TextRange; import com.intellij.psi.AbstractElementManipulator; import com.jetbrains.python.PythonStringUtil; -import com.jetbrains.python.psi.PyElementGenerator; /** * @author traff @@ -34,9 +33,8 @@ public class PyStringLiteralExpressionManipulator extends AbstractElementManipul } String newName = range.replace(element.getText(), newContent); - - return (PyStringLiteralExpressionImpl)element - .replace(PyElementGenerator.getInstance(element.getProject()).createStringLiteralAlreadyEscaped(newName)); + element.updateText(newName); + return element; } @Override diff --git a/python/testData/refactoring/rename/docstringParams.py b/python/testData/refactoring/rename/docstringParams.py new file mode 100644 index 000000000000..4a79b846db09 --- /dev/null +++ b/python/testData/refactoring/rename/docstringParams.py @@ -0,0 +1,9 @@ +class SomeClass(object): + """ Awesome class + + @ivar someVar: great stuff + @type someVar: string + """ + + def __init__(self): + self.someVar = None \ No newline at end of file diff --git a/python/testData/refactoring/rename/docstringParams_after.py b/python/testData/refactoring/rename/docstringParams_after.py new file mode 100644 index 000000000000..ae4d5e5527d7 --- /dev/null +++ b/python/testData/refactoring/rename/docstringParams_after.py @@ -0,0 +1,9 @@ +class SomeClass(object): + """ Awesome class + + @ivar bar: great stuff + @type bar: string + """ + + def __init__(self): + self.bar = None \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/refactoring/PyRenameTest.java b/python/testSrc/com/jetbrains/python/refactoring/PyRenameTest.java index f6ff0eecd1c8..948f15926091 100644 --- a/python/testSrc/com/jetbrains/python/refactoring/PyRenameTest.java +++ b/python/testSrc/com/jetbrains/python/refactoring/PyRenameTest.java @@ -195,6 +195,11 @@ public class PyRenameTest extends PyTestCase { doMultiFileTest("bar"); } + // PY-11879 + public void testDocstringParams() { + doTest("bar"); + } + private void doRenameConflictTest(String newName, String expectedConflict) { myFixture.configureByFile(RENAME_DATA_PATH + getTestName(true) + ".py"); try {