xiaodududu / google-guice

Automatically exported from code.google.com/p/google-guice
Apache License 2.0
0 stars 0 forks source link

Connot find bytecode for class XXX when using ASM generated classes #574

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The com.google.inject.internal.util.LineNumbers class constructor forces Guice 
throwing a ComputationException when trying to bind components generated 
dynamically via ASM.

I suggest to make the LineNumber less restrictive otherwise Guice losses his 
power, not being able to bind components defined dynamically.

Original issue reported on code.google.com by simone.t...@gmail.com on 24 Nov 2010 at 2:11

GoogleCodeExporter commented 9 years ago
As a lame work around, the no-aop version of Guice will probably work fine.

Original comment by limpbizkit on 25 Nov 2010 at 5:48

GoogleCodeExporter commented 9 years ago
Thanks a lot for the suggestion, but unfortunately I based my implementation on 
a strong use of interceptors ;(
Are you evaluating to fix that issue before 3.0 release? I hope so :P

Original comment by simone.t...@gmail.com on 25 Nov 2010 at 6:55

GoogleCodeExporter commented 9 years ago
As a quick turnaround: is it possible - and how - to simulate injection points?

I started taking a look to `com.google.inject.spi.ProviderWithDependencies` 
that requires `Set<com.google.inject.spi.Dependency<?>> getDependencies()` 
method be implemented, and the Set can be obtained by invoking 
`com.google.inject.spi.Dependency.forInjectionPoints(Set<com.google.inject.spi.I
njectionPoint> injectionPoints)`.

Question is that `com.google.inject.spi.InjectionPoint` instances can be build 
only via `com.google.inject.spi.InjectionPoint¡ static methods, that will look 
for Guice's annotations. Moreover `com.google.inject.spi.InjectionPoint` is 
final so I can't extend it to cheat Guice invoking my custom method. That's the 
point I'm blocked :P

Do you have any suggestion? Otherwise I see very hard, at this stage, the 
support of components generated at runtime. BTW I'll try to do my best to 
provide a patch to fix the current issue, having ASM generated classes 
supported by Guice would be powerful.

Thanks in advance!!!

Original comment by simone.t...@gmail.com on 25 Nov 2010 at 12:04

GoogleCodeExporter commented 9 years ago
Any chance to have it fixed before release 3.0 final? Unfortunately I don't 
have the time to provide a patch - and you would absolutely faster than me!!!!

Original comment by simone.t...@gmail.com on 9 Dec 2010 at 2:26

GoogleCodeExporter commented 9 years ago
If you're able to provide a testcase that currently fails, that would make 
trying to create a suitable patch easier.

Original comment by sberlin on 9 Dec 2010 at 2:48

GoogleCodeExporter commented 9 years ago
Here's a testcase that exhibits the problem and a proposed solution: turn 
precondition into a non-fatal check.
PS. I'll roll this patch into our sisu-guice build as we need it for some 
prototype work with generated bindings.

Original comment by mccu...@gmail.com on 20 Jan 2011 at 12:34

Attachments:

GoogleCodeExporter commented 9 years ago
fixed in r1492, thanks for the patch!

Original comment by sberlin on 14 Feb 2011 at 1:01