Something cool just occurred to me, it'd be nice to be able to write new
Key<@Named("foo") String>(){}.
Anyway I think type annotations need a little more thought. If
Provider<@Named("foo")
String> works, why not this:
// Attempt to simulate Dagger's Lazy<T>
public class Lazy<T> {
@Inject Provider<T> provider;
private T instance;
public synchronized T get() {
if (instance == null) instance = provider.get();
return instance;
}
}
public class Foo {
@Inject Lazy<@Named("foo") String> lazy;
}
Does the @Named("foo") follow the type parameter into the implementation of
Lazy? If not, then I guess any binding annotations on type arguments
should cause an error unless they're on the argument to a Provider.
On Tuesday, 8 April 2014 17:06:05 UTC-4, Christian Gruber wrote:
>
> Heh. I just made an issue for exactly that purpose.
>
> c.
>
> On 8 Apr 2014, at 13:57, Tavian Barnes wrote:
>
> > What about tests? It seems difficult to test something like this
> > without
> > some test classes that actually use type annotations somewhere.
> >
> > Right now my idea is to put Java 8 specific tests in a special
> > package, and
> > exclude that package unless a special Maven profile is activated. I
> > assume
> > something equivalent is possible with Ant.
> >
> > On Tuesday, 8 April 2014 12:55:56 UTC-4, Sam Berlin wrote:
> > [snip]
>
--
You received this message because you are subscribed to the Google Groups
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-guice.
For more options, visit https://groups.google.com/d/optout.