[
https://jira.jboss.org/jira/browse/JASSIST-93?page=com.atlassian.jira.plu...
]
Joerg Plewe commented on JASSIST-93:
------------------------------------
The value of the boolean parameter in insertAfter() doesn't matter, the same error
occurs regardless wether it is true or false.
Which somehow violates the documention of CtBehavior#addLocalVariable().
http://www.csg.is.titech.ac.jp/~chiba/javassist/html/javassist/CtBehavior...
The local variable should not be visible of the parameter is true, but it is.
VerifyError with addLocalVariable() and insertAfter()
-----------------------------------------------------
Key: JASSIST-93
URL:
https://jira.jboss.org/jira/browse/JASSIST-93
Project: Javassist
Issue Type: Bug
Environment: javassist 3.11 and 3.5
JDK6
Reporter: Joerg Plewe
Assignee: Shigeru Chiba
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:
Code:
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:
Code:
public class Test {
public void foo() {}
}
Running the code delivers a VerifyError which I think it shouldn't:
Code:
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)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira