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