From 9da692026b2f3c2176bd9d4faec5f7cd238eec3b Mon Sep 17 00:00:00 2001 From: Danila Ponomarenko Date: Fri, 15 Jun 2012 13:40:09 +0400 Subject: [PATCH] IDEA-86405 "Implement methods" fails to alpha-rename type variables that conflict with class type parameters fixed --- .../codeInsight/generation/GenerateMembersUtil.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java index 7f7870030cbe..b1cc007de249 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/GenerateMembersUtil.java @@ -305,13 +305,13 @@ public class GenerateMembersUtil { @NotNull private static String suggestUniqueTypeParameterName(@NonNls String baseName, @NotNull PsiTypeParameterList typeParameterList, @Nullable PsiClass targetClass) { - String newName = baseName; - int index = 0; - while ((!checkUniqueTypeParameterName(newName, typeParameterList)) || (targetClass != null && !checkUniqueTypeParameterName(newName, targetClass.getTypeParameterList()))) { - newName = baseName + ++index; + int i =0; + while (true) { + final String newName = baseName + ++i; + if (checkUniqueTypeParameterName(newName, typeParameterList) && (targetClass == null || checkUniqueTypeParameterName(newName, targetClass.getTypeParameterList()))){ + return newName; + } } - - return newName; }