### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/JavaProject.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProject.java,v retrieving revision 1.440 diff -u -r1.440 JavaProject.java --- model/org/eclipse/jdt/internal/core/JavaProject.java 24 Nov 2010 01:33:28 -0000 1.440 +++ model/org/eclipse/jdt/internal/core/JavaProject.java 9 Dec 2010 18:17:17 -0000 @@ -1555,12 +1555,11 @@ token = null; while (memento.hasMoreTokens()) { token = memento.nextToken(); - char firstChar = token.charAt(0); - if (firstChar != JEM_PACKAGEFRAGMENT && firstChar != JEM_COUNT) { - rootPath += token; - } else { + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=331821 + if (token == MementoTokenizer.PACKAGEFRAGMENT || token == MementoTokenizer.COUNT) { break; } + rootPath += token; } JavaElement root = (JavaElement)getPackageFragmentRoot(new Path(rootPath)); if (token != null && token.charAt(0) == JEM_PACKAGEFRAGMENT) { Index: model/org/eclipse/jdt/internal/core/util/MementoTokenizer.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/MementoTokenizer.java,v retrieving revision 1.9 diff -u -r1.9 MementoTokenizer.java --- model/org/eclipse/jdt/internal/core/util/MementoTokenizer.java 27 Jun 2008 16:03:57 -0000 1.9 +++ model/org/eclipse/jdt/internal/core/util/MementoTokenizer.java 9 Dec 2010 18:17:17 -0000 @@ -13,21 +13,21 @@ import org.eclipse.jdt.internal.core.JavaElement; public class MementoTokenizer { - private static final String COUNT = Character.toString(JavaElement.JEM_COUNT); - private static final String JAVAPROJECT = Character.toString(JavaElement.JEM_JAVAPROJECT); - private static final String PACKAGEFRAGMENTROOT = Character.toString(JavaElement.JEM_PACKAGEFRAGMENTROOT); - private static final String PACKAGEFRAGMENT = Character.toString(JavaElement.JEM_PACKAGEFRAGMENT); - private static final String FIELD = Character.toString(JavaElement.JEM_FIELD); - private static final String METHOD = Character.toString(JavaElement.JEM_METHOD); - private static final String INITIALIZER = Character.toString(JavaElement.JEM_INITIALIZER); - private static final String COMPILATIONUNIT = Character.toString(JavaElement.JEM_COMPILATIONUNIT); - private static final String CLASSFILE = Character.toString(JavaElement.JEM_CLASSFILE); - private static final String TYPE = Character.toString(JavaElement.JEM_TYPE); - private static final String PACKAGEDECLARATION = Character.toString(JavaElement.JEM_PACKAGEDECLARATION); - private static final String IMPORTDECLARATION = Character.toString(JavaElement.JEM_IMPORTDECLARATION); - private static final String LOCALVARIABLE = Character.toString(JavaElement.JEM_LOCALVARIABLE); - private static final String TYPE_PARAMETER = Character.toString(JavaElement.JEM_TYPE_PARAMETER); - private static final String ANNOTATION = Character.toString(JavaElement.JEM_ANNOTATION); + public static final String COUNT = Character.toString(JavaElement.JEM_COUNT); + public static final String JAVAPROJECT = Character.toString(JavaElement.JEM_JAVAPROJECT); + public static final String PACKAGEFRAGMENTROOT = Character.toString(JavaElement.JEM_PACKAGEFRAGMENTROOT); + public static final String PACKAGEFRAGMENT = Character.toString(JavaElement.JEM_PACKAGEFRAGMENT); + public static final String FIELD = Character.toString(JavaElement.JEM_FIELD); + public static final String METHOD = Character.toString(JavaElement.JEM_METHOD); + public static final String INITIALIZER = Character.toString(JavaElement.JEM_INITIALIZER); + public static final String COMPILATIONUNIT = Character.toString(JavaElement.JEM_COMPILATIONUNIT); + public static final String CLASSFILE = Character.toString(JavaElement.JEM_CLASSFILE); + public static final String TYPE = Character.toString(JavaElement.JEM_TYPE); + public static final String PACKAGEDECLARATION = Character.toString(JavaElement.JEM_PACKAGEDECLARATION); + public static final String IMPORTDECLARATION = Character.toString(JavaElement.JEM_IMPORTDECLARATION); + public static final String LOCALVARIABLE = Character.toString(JavaElement.JEM_LOCALVARIABLE); + public static final String TYPE_PARAMETER = Character.toString(JavaElement.JEM_TYPE_PARAMETER); + public static final String ANNOTATION = Character.toString(JavaElement.JEM_ANNOTATION); private final char[] memento; private final int length; #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.29 diff -u -r1.29 MementoTests.java --- src/org/eclipse/jdt/core/tests/model/MementoTests.java 24 Nov 2010 01:33:28 -0000 1.29 +++ src/org/eclipse/jdt/core/tests/model/MementoTests.java 9 Dec 2010 18:17:19 -0000 @@ -92,7 +92,7 @@ "1.4"); this.createJavaProject( "P", - new String[] {"src"}, + new String[] {"src", "!"}, new String[] { getExternalJCLPathString(), "/P/lib", @@ -794,4 +794,15 @@ "=P/src