Revision: 1327
Author: sberlin
Date: Fri Oct 29 05:00:27 2010
Log: make sure MembersInjector dependencies don't blow up on
requireExplicitBindings.
http://code.google.com/p/google-guice/source/detail?r=1327
Modified:
/trunk/core/src/com/google/inject/internal/InjectorImpl.java
/trunk/core/test/com/google/inject/JitBindingsTest.java
=======================================
--- /trunk/core/src/com/google/inject/internal/InjectorImpl.java Tue Oct 26
19:03:52 2010
+++ /trunk/core/src/com/google/inject/internal/InjectorImpl.java Fri Oct 29
05:00:27 2010
@@ -212,7 +212,7 @@
throws ErrorsException {
- boolean jitOverride = isProvider(key) || isTypeLiteral(key);
+ boolean jitOverride = isProvider(key) || isTypeLiteral(key) ||
isMembersInjector(key);
if(options.jitDisabled && jitType == JitLimitation.NO_JIT
&& !jitOverride) {
throw errors.jitDisabled(key).toException();
}
=======================================
--- /trunk/core/test/com/google/inject/JitBindingsTest.java Thu Aug 26
15:36:19 2010
+++ /trunk/core/test/com/google/inject/JitBindingsTest.java Fri Oct 29
05:00:27 2010
@@ -322,6 +322,25 @@
assertEquals(foo.literal.getRawType(), String.class);
assertEquals(of("bar"), foo.set);
}
+
+ public void testMembersInjectorsCanBeInjected() {
+ Injector injector = new InjectorBuilder()
+ .requireExplicitBindings()
+ .addModules(new AbstractModule() {
+ @Override protected void configure() {
+ }
+
+ @Provides String data(MembersInjector<String> mi) {
+ String data = "foo";
+ mi.injectMembers(data);
+ return data;
+ }
+ })
+ .build();
+
+ String data = injector.getInstance(String.class);
+ assertEquals("foo", data);
+ }
private void ensureWorks(Injector injector, Class<?>... classes) {
for(int i = 0; i < classes.length; i++) {
--
You received this message because you are subscribed to the Google Groups
"google-guice-dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-guice-dev?hl=en.