[jboss-user] [Javassist Users] - VerifyError with addLocalVariable() and insertAfter()
Herkules000
do-not-reply at jboss.com
Thu Sep 10 04:43:10 EDT 2009
Hi all!
This is my first post here and I am a javassist newbie. So hopefully my problem can easily be solved.
>From a real usecase, I condensed the following fragment demonstrating my problem:
ClassPool cp = ClassPool.getDefault();
| CtClass cl = cp.getCtClass("jatest.Test");
| CtMethod m = cl.getDeclaredMethod("foo");
|
| m.addLocalVariable("bar", CtClass.longType);
| m.insertAfter("bar;", true);
|
| Object o = cl.toClass().newInstance();
The class 'Test' is as simple as it can get:
public class Test {
| public void foo() {}
| }
|
Running the code delivers a VerifyError which I think it shouldn't:
Exception in thread "main" java.lang.VerifyError: (class: jatest/Test, method: foo signature: ()V) Register pair 1/2 contains wrong type
| at java.lang.Class.getDeclaredConstructors0(Native Method)
| at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
| at java.lang.Class.getConstructor0(Class.java:2699)
| at java.lang.Class.newInstance0(Class.java:326)
| at java.lang.Class.newInstance(Class.java:308)
| at jatest.Main.main(Main.java:27)
Tested with 3.11 and 3.5. Where is my fault?
Thank you,
- Joerg
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4254349#4254349
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4254349
More information about the jboss-user
mailing list