From 9e1d3ddf6e11fd7ae0c3120180cacef5530eaf1b Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Wed, 3 Feb 2010 18:43:53 +0300 Subject: [PATCH] =?UTF-8?q?PY-453:=20List=20of=20possible=20parameters=20i?= =?UTF-8?q?n=20extract=20method=20can=E2=80=8B'=E2=80=8Bt=20be=20reset?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extractmethod/PyExtractMethodUtil.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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) {