From a9f1ba3063f214e608a58d9bb971970e2121fead Mon Sep 17 00:00:00 2001 From: Jack Zhou Date: Sun, 21 Apr 2013 15:04:18 -0400 Subject: [PATCH] Create from usage: Fixed a bug where the type parameter list is not rendered correctly when empty. --- .../jet/plugin/quickfix/CreateMethodFromUsageFix.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java index 1c8397aa7b5..3b7d7772d69 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/CreateMethodFromUsageFix.java @@ -95,7 +95,7 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase { this.type = type; Set typeParametersInType = getTypeParametersInType(type); typeParameters = typeParametersInType.toArray(new TypeParameterDescriptor[typeParametersInType.size()]); - render(Collections.emptyMap()); + renderedType = renderTypeShort(type, Collections.emptyMap()); } public TypeCandidate(@NotNull JetType type, @NotNull JetScope scope) { @@ -647,6 +647,9 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase { returnType.computeTypeCandidates(currentFileContext, substitutions, scope); } + // now that we have done substitutions, we can throw it away + selectedReceiverType = new TypeCandidate(receiverType, scope); + // figure out type parameter renames to avoid conflicts typeParameterNameMap = getTypeParameterRenames(scope); for (Parameter parameter : parameters) { @@ -655,9 +658,7 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase { if (!isUnit) { returnType.renderTypeCandidates(typeParameterNameMap); } - if (isExtension) { - ownerType.renderTypeCandidates(typeParameterNameMap); - } + selectedReceiverType.render(typeParameterNameMap); ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override