Status: Accepted
Owner: [email protected]
New issue 633 by [email protected]: Provide a better error message when
you try to inject a raw Provider.
http://code.google.com/p/google-guice/issues/detail?id=633
Current error:
Exception in thread "main"
com.google.inject.internal.util.$ComputationException:
java.lang.ClassCastException: java.lang.Class cannot be cast to
java.lang.reflect.ParameterizedType
at
com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:553)
at
com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:419)
at
com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:50)
at
com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:49)
at
com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:125)
at
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:521)
at
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:847)
at
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
at
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
at
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
at
com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:853)
at
com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:967)
at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1000)
at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:961)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
at bake.tool.Repository$Builder.build(Repository.java:185)
at bake.tool.Main.main(Main.java:35)
at bake.tool.Test.main(Test.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to
java.lang.reflect.ParameterizedType
at
com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:82)
at com.google.inject.Key.<init>(Key.java:126)
at com.google.inject.Key.get(Key.java:256)
at com.google.inject.internal.Annotations.getKey(Annotations.java:149)
at
com.google.inject.spi.InjectionPoint.forMember(InjectionPoint.java:115)
at com.google.inject.spi.InjectionPoint.<init>(InjectionPoint.java:78)
at
com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:272)
at
com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:96)
at
com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
at
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:845)
at
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
at
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
at
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
at
com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:853)
at
com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:925)
at
com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:913)
at
com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:69)
at
com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:28)
at
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:36)
at
com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:32)
at
com.google.inject.internal.FailableCache$1.apply(FailableCache.java:39)
at
com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:549)
... 23 more
Process finished with exit code 1
--
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.