Community
Participate
Working Groups
Build 20021029 In org.eclipse.jdt.debug.test.core, we have two tests which used to work fine (SourceLocationTests#testPositiveSystemLibrarySourceLocation() and SourceLocationTests#testNegativeSystemLibrarySourceLocation()) but fail in the latest integration build. The point is that before, when JavaProject#getPackageFragmentRoots(IClasspathEntry) was called, getResolvedClasspath(..) was call on the IClasspathEntry, and the variables were resolved. In the new code, getResolvedClasspath(..) is no more called. If I change the code of computePackageFragmentRoots(IClasspathEntry) with the following code, I get the tests to work: public IPackageFragmentRoot[] computePackageFragmentRoots(IClasspathEntry entry) { try { return computePackageFragmentRoots(getResolvedClasspath(new IClasspathEntry[]{entry}, true, false), false); } catch (JavaModelException e) { return new IPackageFragmentRoot[] {}; } } Is it a problem in your code, when you change/create the method you forgot to add this method call ? or is it us which use the method in a wrong way ?
No this would be a bug in our code, as a consequence from a fix for bug 25433. Need to fix asap.
Fix proposal is the right one. Fixed.
Actually, moved resolution to #findPackageFragmentRoots, since other internal clients shouldn't be penalized when already passing resolved path in.
We have commented out the two tests that are failing for the Oct 30 integration build.
Verified.