tree 918bfc0241d8c7f5e260180a1b42bcc1804a97d5
parent 18cb1913184741ed8674dc111b1c6db6013e64cb
author limpbizkit <limpbizkit@d779f126-a31b-0410-b53b-1d3aecad763e> 1220422796 +0000
committer limpbizkit <limpbizkit@d779f126-a31b-0410-b53b-1d3aecad763e> 1220422796 +0000

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
