Community
Participate
Working Groups
From EC, I am compiling the output of a JavaCC generated parser from a complex grammar. One of the methods in the token manager contains a number of pretty large switch statelements. If I compile the code using the eclipse compiler the resulting app fails with a Verify errror: java.lang.VerifyError: (class: XScriptParserTokenManager, method: jjMoveNfa_0 signature: (II)I) Illegal target of jump or branch at XScriptParser.<init>(XScriptParser.java:3956) at XScriptParser.main(XScriptParser.java:64) Exception in thread "main" The same code compiled with the SUN javac from j2sdk1.4.1_01 works as expected The build used is M5.
Can we get a testcase reproducing the problem ? Did it work with M3 or M4 ?
Cannot tag for 2.1 unless we get some reproduceable testcase.
Created attachment 3489 [details] Generated file causing verify error Method causing the error appears to be jjMoveNfa_0
Could you please attach all the necessary files to compile this code? SimpleCharStream, the implemented interface. Thanks. It will allow me to investigate more quickly.
Created attachment 3494 [details] Compilable subset of files including XScriptParserTokenManager Note the XScriptParserTokenManager is not the same as the original, as I have been working on it today, however the one in the zip file still exhibits the same error, so please take all of the files as a new whole. I have checked them out in a new project and get no compile messages.
Problem reproduced. I am investigating.
I am testing a fix right now. Thanks for the test case and the bug report. This wasn't a new bug. We have it since day 1. I will add regression tests.
Fixed and released in 2.1 stream. Regression test added.
Verified.