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();
public class Test { public void foo() {} }
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)