On Wednesday 08 June 2016 08:37 Benedikt Ritter wrote: > Hallo Andrey, > > Andrey Loskutov <losku...@gmx.de> schrieb am Mi., 8. Juni 2016 um 09:36 Uhr: > > > Hi, > > > > I'm following the package rename and trying to fix compile issues with > > BCEL6 in FindBugs. > > > > Before 6.0 we had both StackMap and StackMapTable classes (with > > StackMapEntry / StackMapTableEntry elements). > > This was added via https://issues.apache.org/jira/browse/BCEL-92 to > > support Java 6. > > > > Now in trunk I see that StackMapTable and StackMapTableEntry were > > removed, via https://issues.apache.org/jira/browse/BCEL-248. > > > > This causes few compile issues in FindBugs, and I see also no reason why > > it should be removed either. > > > > Unfortunately, Java 1.6 documentation [3] doesn't mentioned neither > > StackMapTable nor StackMap attributes (or I'm unable to find it). > > The official JVM documentation for Java SE 1.7 /1.8 mentions only > > StackMapTable attribute, see [1,2]. > > StackMap attribute seems to be mentioned in Java ME specs, see [3]. > > In ASM code I see StackMap seem to be used for classfile versions < 50 (< > > Java 6) and StackMapTable otherwise. > > > > If I understand it right, *both* attributes can appear in class files, and > > StackMapTable is the one we have to deal with most the time on a standard > > Java >= 6. > > > > So please can we restore the state where we have StackMapTable / > > StackMapTableEntry classes , to avoid further confusion and API breakage in > > BCEL6? > > > > I'm confused. As far as I can tell those classes don't show up in the > latest Clirr report [1]. I don't understand why they are missing. Any idea?
A-ha, that surprises me too now, but after some software archaeology it is clear why: the latest official 5.2 release is from June 3 2006, which of course never "officially" supported Java 6 released in 2006-12-23. The Java 6 StackMapTable support was added to BCEL 2008 (via BCEL-92), but there were not a single BCEL release since 2006, so the change was never officially published! FindBugs used a BCEL 5.2 trunk *snapshot*, which included those BCEL-92 changes. I see for example commit from 2010 which added reference to the StackMapTable type: https://github.com/findbugsproject/findbugs/commit/ea9d699ab042f691740ef59aedd365ba27fb27f8. So that's really not nice. I don't know what the best way to fix it. > Benedikt > > [1] http://commons.apache.org/proper/commons-bcel/clirr-report.html > > > > > > [1] > > https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.4 > > [2] > > https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.4 > > [3] > > https://docs.oracle.com/javase/specs/jvms/se6/html/ClassFile.doc.html#43817 > > [4] > > http://docs.oracle.com/javame/config/cldc/opt-pkgs/api/cldc/api/Appendix1-verifier.pdf > > > > -- > > Kind regards, > > google.com/+AndreyLoskutov > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > -- Kind regards, google.com/+AndreyLoskutov --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org