Index: model/org/eclipse/jdt/internal/core/JavaModelOperation.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelOperation.java,v retrieving revision 1.55 diff -u -r1.55 JavaModelOperation.java --- model/org/eclipse/jdt/internal/core/JavaModelOperation.java 23 Feb 2005 02:47:29 -0000 1.55 +++ model/org/eclipse/jdt/internal/core/JavaModelOperation.java 23 Feb 2005 15:42:35 -0000 @@ -729,7 +729,12 @@ if (!(openable instanceof CompilationUnit) || !((CompilationUnit) openable).isWorkingCopy()) { // a working copy must remain a child of its parent even after a move ((JavaElement) openable.getParent()).close(); } - ((JavaProject) element.getJavaProject()).resetCaches(); + switch (element.getElementType()) { + case IJavaElement.PACKAGE_FRAGMENT_ROOT: + case IJavaElement.PACKAGE_FRAGMENT: + ((JavaProject) element.getJavaProject()).resetCaches(); + break; + } } // fire only iff: Index: model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java,v retrieving revision 1.109 diff -u -r1.109 PackageFragmentRoot.java --- model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java 23 Feb 2005 02:47:29 -0000 1.109 +++ model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java 23 Feb 2005 15:42:36 -0000 @@ -534,7 +534,15 @@ * @see IPackageFragmentRoot */ public int getKind() throws JavaModelException { - return ((PackageFragmentRootInfo)getElementInfo()).getRootKind(); + // avoid populating the Java model + JavaModelManager manager = JavaModelManager.getJavaModelManager(); + PackageFragmentRootInfo info = (PackageFragmentRootInfo) manager.getInfo(this); + if (info != null) + return info.getRootKind(); + IClasspathEntry entry = getRawClasspathEntry(); + if (entry != null) + return entry.getContentKind(); + throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.ELEMENT_NOT_ON_CLASSPATH, this)); } /**