### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/LocalVariable.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/LocalVariable.java,v retrieving revision 1.28 diff -u -r1.28 LocalVariable.java --- model/org/eclipse/jdt/internal/core/LocalVariable.java 27 Jun 2008 16:03:51 -0000 1.28 +++ model/org/eclipse/jdt/internal/core/LocalVariable.java 21 Aug 2008 10:13:36 -0000 @@ -228,7 +228,7 @@ buff.append(JEM_COUNT); buff.append(this.nameEnd); buff.append(JEM_COUNT); - buff.append(this.typeSignature); + escapeMementoName(buff, this.typeSignature); if (this.occurrenceCount > 1) { buff.append(JEM_COUNT); buff.append(this.occurrenceCount); #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/MementoTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/MementoTests.java,v retrieving revision 1.25 diff -u -r1.25 MementoTests.java --- src/org/eclipse/jdt/core/tests/model/MementoTests.java 27 Jun 2008 16:02:38 -0000 1.25 +++ src/org/eclipse/jdt/core/tests/model/MementoTests.java 21 Aug 2008 10:13:38 -0000 @@ -470,6 +470,18 @@ /** * Tests that a local variable can be persisted and restored using its memento. */ +public void testLocalVariableMemento2() throws JavaModelException { + IType type = getClassFile("/P/src/p/X.class").getType(); + IMethod method = type.getMethod("foo", new String[]{"I"}); + + ILocalVariable localVar = new LocalVariable((JavaElement)method, "var", 1, 2, 3, 4, "Z", null); + assertMemento( + "=P/src
{\n" +
+ " void foo() {\n" +
+ " X