### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/core/IJavaProject.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IJavaProject.java,v retrieving revision 1.105 diff -u -r1.105 IJavaProject.java --- model/org/eclipse/jdt/core/IJavaProject.java 4 Dec 2010 02:42:13 -0000 1.105 +++ model/org/eclipse/jdt/core/IJavaProject.java 28 Feb 2011 07:34:19 -0000 @@ -504,7 +504,9 @@ * does not include package fragment roots in other projects referenced * on this project's classpath. * - *

NOTE: This is equivalent to getChildren(). + *

The package fragment roots appear in the order they are defined + * by the classpath. + *

* * @return all of the package fragment roots contained in this * project, identified on this project's resolved classpath 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.443 diff -u -r1.443 JavaProject.java --- model/org/eclipse/jdt/internal/core/JavaProject.java 18 Feb 2011 10:03:13 -0000 1.443 +++ model/org/eclipse/jdt/internal/core/JavaProject.java 28 Feb 2011 07:34:20 -0000 @@ -1800,19 +1800,10 @@ */ public IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException { - - Object[] children; - int length; - IPackageFragmentRoot[] roots; - - System.arraycopy( - children = getChildren(), - 0, - roots = new IPackageFragmentRoot[length = children.length], - 0, - length); - - return roots; + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=338006 + // This will ensure that the order is consistent with other methods such as + // IJavaProject#getAllPackageFragmentRoots() + return computePackageFragmentRoots(getResolvedClasspath(), false, null); } /**