### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: dom/org/eclipse/jdt/core/dom/RecoveredTypeBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/RecoveredTypeBinding.java,v retrieving revision 1.6 diff -u -r1.6 RecoveredTypeBinding.java --- dom/org/eclipse/jdt/core/dom/RecoveredTypeBinding.java 23 Jul 2007 18:41:09 -0000 1.6 +++ dom/org/eclipse/jdt/core/dom/RecoveredTypeBinding.java 24 Aug 2007 16:41:27 -0000 @@ -19,6 +19,7 @@ import org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope; import org.eclipse.jdt.internal.compiler.util.Util; import org.eclipse.jdt.internal.core.CompilationUnit; +import org.eclipse.jdt.internal.core.PackageFragment; /** * This class represents the recovered binding for a type @@ -497,7 +498,13 @@ */ public IJavaElement getJavaElement() { try { - return new CompilationUnit(null, this.getInternalName(), this.resolver.getWorkingCopyOwner()).getWorkingCopy(this.resolver.getWorkingCopyOwner(), null); + IPackageBinding packageBinding = getPackage(); + if (packageBinding != null) { + final IJavaElement javaElement = packageBinding.getJavaElement(); + if (javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { + return new CompilationUnit((PackageFragment) javaElement, this.getInternalName(), this.resolver.getWorkingCopyOwner()).getWorkingCopy(this.resolver.getWorkingCopyOwner(), null); + } + } } catch (JavaModelException e) { //ignore }