### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: dom/org/eclipse/jdt/core/dom/AST.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java,v retrieving revision 1.160 diff -u -r1.160 AST.java --- dom/org/eclipse/jdt/core/dom/AST.java 20 Mar 2008 14:02:13 -0000 1.160 +++ dom/org/eclipse/jdt/core/dom/AST.java 21 Apr 2008 15:41:05 -0000 @@ -266,6 +266,7 @@ BindingResolver resolver = null; if (isResolved) { resolver = new DefaultBindingResolver(compilationUnitDeclaration.scope, workingCopy.owner, new DefaultBindingResolver.BindingTables(), false); + ((DefaultBindingResolver) resolver).isRecoveringBindings = (reconcileFlags & ICompilationUnit.ENABLE_BINDINGS_RECOVERY) != 0; ast.setFlag(AST.RESOLVED_BINDINGS); } else { resolver = new BindingResolver(); Index: dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java,v retrieving revision 1.160 diff -u -r1.160 DefaultBindingResolver.java --- dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java 6 Mar 2008 15:31:31 -0000 1.160 +++ dom/org/eclipse/jdt/core/dom/DefaultBindingResolver.java 21 Apr 2008 15:41:06 -0000 @@ -347,13 +347,16 @@ } break; case ProblemReasons.NotFound : + if (!this.isRecoveringBindings) { + return null; + } ITypeBinding binding = (ITypeBinding) this.bindingTables.compilerBindingsToASTBindings.get(referenceBinding); if (binding != null) { return binding; } if ((referenceBinding.tagBits & TagBits.HasMissingType) != 0) { binding = new TypeBinding(this, referenceBinding); - } else if (this.isRecoveringBindings) { + } else { binding = new RecoveredTypeBinding(this, referenceBinding); } this.bindingTables.compilerBindingsToASTBindings.put(referenceBinding, binding);