inner class problem
Nikolas Nehmer <[email protected]>
| Newsgroups | gmane.comp.java.objectweb.asm |
|---|---|
| Message-ID | <[email protected]> |
Hi all,
I have a problem regarding the following example:
public class Demo2 {
InnerClass i;
int x;
Demo2() {
i = new InnerClass();
}
public static void main(String[] args) {
Demo2 demo = new Demo2();
}
class InnerClass {
InnerClass() {
}
}
}
My instrumentation adds some logging calls, i.e. in case of variable
assignments like i = new InnerClass(); it calls a static logging
facility. So far so good, but ins this special case, the inner class is
just not instrumented. I'm using load-time instrumentation based on a
Java agent. If I just add some debug System.out.printlns to the agent
(instead of the instrumentation calls), either Demo2 and
Demo2$InnerClass are passed to the agent. If I add the instrumentation,
only the outer class is instrumented, the inner class is not even passed
to the agent! Nevertheless the app is running - i.e. Demo2 is
instantiated, the inner class is instantiated and for the outer class my
logging calls are executed. The application terminates normally.
To sumarize:
- The instrumented app runs without exception!
- For the outer class the instrumentation works! i.e. for i = new
InnerClass(); a logging call is added
- For the inner class there is NO call to the agent's transform(...) method!
Any ideas why the transform method might not be called for the inner class?
Btw. the following example works completely!!! The only difference is
splitting up the example in two classes!
public class Demo {
public static void main(String[] args) {
MyComponent comp = new MyComponent();
}
}
public class MyComponent {
InnerClass i;
public MyComponent() {
i = new InnerClass();
}
static class InnerClass {}
}
Best regards
Nikolas
--
Dipl.-Inf. Nikolas Nehmer,
Dept. of Computer Science. University of Kaiserslautern
P.O. Box 3049, 67653 Kaiserslautern, Germany.
room 36/308, phone: +49 (0) 631 - 205 2644, fax: +49 (0) 631 - 205 3299
mail: [email protected]
message-footer.txt
(text/plain, 238 B)
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws