diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/utils/PseudoNameGeneratorTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/utils/PseudoNameGeneratorTest.java index 6e6a649076a..cc8644dbe5a 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/utils/PseudoNameGeneratorTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/utils/PseudoNameGeneratorTest.java @@ -60,4 +60,8 @@ public class PseudoNameGeneratorTest extends TestCase { public void testWithNamespace() { assertEquals("string", pseudoNameGenerator.generateNewName("std::string")); //$NON-NLS-1$//$NON-NLS-2$ } + + public void testBug288736TemplateParam() { + assertEquals("tempClass", pseudoNameGenerator.generateNewName("tempClass")); + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/PseudoNameGenerator.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/PseudoNameGenerator.java index 6364253c4d7..8e744aa8bca 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/PseudoNameGenerator.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/utils/PseudoNameGenerator.java @@ -32,6 +32,9 @@ public class PseudoNameGenerator { String[] nameParts = typeName.split("::"); //$NON-NLS-1$ typeName = nameParts[nameParts.length - 1]; + if(typeName.contains("<")) { //$NON-NLS-1$ + typeName = typeName.substring(0, typeName.indexOf('<')); + } if(typeName.length() != 0) { typeName = typeName.substring(0, 1).toLowerCase() + typeName.substring(1); }