Summary: | Names of anonymous inner classes inside ITD methods could clash | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Simone Gianni <simoneg> |
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> |
Status: | NEW --- | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 1.6.3 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: |
Description
Simone Gianni
2009-01-22 18:08:28 EST
Occasionally, but it's not easy to reproduce it, this happens also for closures. If I have aspectA and aspectB both advicing a certain class, but compiled in different packages (different ajc runs), they could generate colsure names that collide when the three jars (the one with aspectA, the one with aspectB and the one with the original class) are placed on the classpath of a running application. This happened to me only three times in two years of development with AspectJ, but the first time I spent a week trying to figure out what was going on. Calling a method caused execution of another method and all kind of JVM errors to occurr, and it was simply because the method was calling a closure that was then forwarding to another method. |