PY-70265 Extract Method: signature preview also displays 'async' if necessary

(cherry picked from commit 159106ec2a31e5ad5992b1bca7cde1fb55e91a43)

IJ-MR-171062

GitOrigin-RevId: ef86284a03dd202460f681c5e6686132d03a7c1d
This commit is contained in:
Marcus Mews
2025-08-18 07:46:34 +00:00
committed by intellij-monorepo-bot
parent e9e22f92dd
commit 5aaa8992d3
2 changed files with 6 additions and 6 deletions

View File

@@ -154,13 +154,10 @@ public class PyFunctionBuilder {
}
decoratorAppender.append("\n");
}
if (myAsync) {
builder.append("async ");
}
List<Pair<@NotNull String, @Nullable String>> parameters =
ContainerUtil.map(myParameters, paramName -> Pair.create(paramName, myParameterTypes.get(paramName)));
appendMethodSignature(builder, myName, parameters, myReturnType);
appendMethodSignature(builder, myAsync, myName, parameters, myReturnType);
builder.append(":");
List<String> statements = myStatements.isEmpty() ? Collections.singletonList(PyNames.PASS) : myStatements;
@@ -191,10 +188,13 @@ public class PyFunctionBuilder {
myDecorators.add(decoratorName);
}
public static void appendMethodSignature(@NotNull StringBuilder builder, @NotNull String name,
public static void appendMethodSignature(@NotNull StringBuilder builder, boolean isAsync, @NotNull String name,
@NotNull List<Pair<@NotNull String, @Nullable String>> parameters,
@Nullable String returnTypeName
) {
if (isAsync) {
builder.append("async ");
}
builder.append("def ");
builder.append(name);
builder.append("(");

View File

@@ -656,7 +656,7 @@ public final class PyExtractMethodUtil {
}
}
final StringBuilder builder = new StringBuilder();
PyFunctionBuilder.appendMethodSignature(builder, pySettings.getMethodName(), parameters,
PyFunctionBuilder.appendMethodSignature(builder, fragment.isAsync(), pySettings.getMethodName(), parameters,
pySettings.isUseTypeAnnotations() ? pySettings.getReturnTypeName() : null);
return builder.toString();