Moving error sources so they're now reported in the same place for configuration errors and runtime errors. This means that instead of seeing this:
  1) Error at com.google.Foo.class(Foo.java:123)
      No constructor for Foo was found

We see this:
   1) No constructor for Foo was found
      at com.google.Foo.class(Foo.java:123)

And what's really nice is we can now have a long chain of sources for errors. For example, suppose we follow bindings and discover something that won't work via a transitive dependency. That'll look like this:
   1) No constructor for Foo was found
      at com.google.Foo.class(Foo.java:123)
      for parameter 0 at com.google.Bar.inject(Bar.java:345)
      for field at com.google.Baz.baz(Baz.java:567)

I'll still need to go over the errors code with a few more passes to tighten things up. But I believe this is a small leap forward in the usability in our already-fantastic errors.

git-svn-id: https://google-guice.googlecode.com/svn/trunk@615 d779f126-a31b-0410-b53b-1d3aecad763e
34 files changed