Create from usage: Fixed a bug where the type parameter list is not rendered correctly when empty.
This commit is contained in:
@@ -95,7 +95,7 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase {
|
|||||||
this.type = type;
|
this.type = type;
|
||||||
Set<TypeParameterDescriptor> typeParametersInType = getTypeParametersInType(type);
|
Set<TypeParameterDescriptor> typeParametersInType = getTypeParametersInType(type);
|
||||||
typeParameters = typeParametersInType.toArray(new TypeParameterDescriptor[typeParametersInType.size()]);
|
typeParameters = typeParametersInType.toArray(new TypeParameterDescriptor[typeParametersInType.size()]);
|
||||||
render(Collections.<TypeParameterDescriptor, String>emptyMap());
|
renderedType = renderTypeShort(type, Collections.<TypeParameterDescriptor, String>emptyMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
public TypeCandidate(@NotNull JetType type, @NotNull JetScope scope) {
|
public TypeCandidate(@NotNull JetType type, @NotNull JetScope scope) {
|
||||||
@@ -647,6 +647,9 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase {
|
|||||||
returnType.computeTypeCandidates(currentFileContext, substitutions, scope);
|
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
|
// figure out type parameter renames to avoid conflicts
|
||||||
typeParameterNameMap = getTypeParameterRenames(scope);
|
typeParameterNameMap = getTypeParameterRenames(scope);
|
||||||
for (Parameter parameter : parameters) {
|
for (Parameter parameter : parameters) {
|
||||||
@@ -655,9 +658,7 @@ public class CreateMethodFromUsageFix extends CreateFromUsageFixBase {
|
|||||||
if (!isUnit) {
|
if (!isUnit) {
|
||||||
returnType.renderTypeCandidates(typeParameterNameMap);
|
returnType.renderTypeCandidates(typeParameterNameMap);
|
||||||
}
|
}
|
||||||
if (isExtension) {
|
selectedReceiverType.render(typeParameterNameMap);
|
||||||
ownerType.renderTypeCandidates(typeParameterNameMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user