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.

Reply via email to