Cleanup after the big errors refactoring. 

SourceProviders are now used a lot at bind time, but not afterwards, when the injector is actually being built. We might be able to make this class non-static if we attach it to the Binder.

Renamed ResolveFailedException to ErrorsException.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@521 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/src/com/google/inject/RequestStaticInjectionCommandProcessor.java b/src/com/google/inject/RequestStaticInjectionCommandProcessor.java
index e883cd6..a2ba1a3 100644
--- a/src/com/google/inject/RequestStaticInjectionCommandProcessor.java
+++ b/src/com/google/inject/RequestStaticInjectionCommandProcessor.java
@@ -20,8 +20,7 @@
 import com.google.inject.InjectorImpl.SingleMemberInjector;
 import com.google.inject.commands.RequestStaticInjectionCommand;
 import com.google.inject.internal.Errors;
-import com.google.inject.internal.ResolveFailedException;
-import com.google.inject.spi.SourceProviders;
+import com.google.inject.internal.ErrorsException;
 import java.util.List;
 
 /**
@@ -69,14 +68,15 @@
     }
 
     void validate(final InjectorImpl injector) {
-      SourceProviders.withDefault(source, new Runnable() {
-        public void run() {
-          injector.addSingleInjectorsForFields(
-              type.getDeclaredFields(), true, memberInjectors, errors);
-          injector.addSingleInjectorsForMethods(
-              type.getDeclaredMethods(), true, memberInjectors, errors);
-        }
-      });
+      errors.pushSource(source);
+      try {
+        injector.addSingleInjectorsForFields(
+            type.getDeclaredFields(), true, memberInjectors, errors);
+        injector.addSingleInjectorsForMethods(
+            type.getDeclaredMethods(), true, memberInjectors, errors);
+      } finally {
+        errors.popSource(source);
+      }
     }
 
     void injectMembers(InjectorImpl injector) {
@@ -89,7 +89,7 @@
             return null;
           }
         });
-      } catch (ResolveFailedException e) {
+      } catch (ErrorsException e) {
         throw new AssertionError();
       }
     }