diff --git a/python/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java b/python/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java index d999471eaeea..015433424945 100644 --- a/python/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java +++ b/python/src/com/jetbrains/python/refactoring/extractmethod/PyExtractMethodUtil.java @@ -223,6 +223,21 @@ public class PyExtractMethodUtil { RefactoringFactory.getInstance(project).createRename(parameter, newName).run(); } } + // Change signature according to pass settings + final StringBuilder builder = new StringBuilder(); + for (AbstractVariableData data : variableData) { + if (data.isPassAsParameter()){ + if (builder.length() != 0){ + builder.append(", "); + } + builder.append(data.name); + } + } + builder.insert(0, "def foo("); + builder.append(")\n pass"); + final PyParameterList pyParameterList = + PythonLanguage.getInstance().getElementGenerator().createFromText(project, PyFunction.class, builder.toString()).getParameterList(); + generatedMethod.getParameterList().replace(pyParameterList); } private static Map createMap(final AbstractVariableData[] variableData) {