duplicate entries in InnerClasses attribute
ASM creates duplicate entries in the InnerClasses attribute of the attached class when it rewrites the
constant pool.
Repro:
$ javac -cp lib/asm-5.0_BETA.jar Test.java
$ java -cp .:lib/asm-5.0_BETA.jar Test weird/JavacWeirdnessTester.class out.class
$ javap -v out.class | head
…
InnerClasses:
static #7 of #2; //class weird/JavacWeirdnessTester$1 of class weird/JavacWeirdnessTester
static #7 of #2; //class weird/JavacWeirdnessTester$1 of class weird/JavacWeirdnessTester
static #7 of #2; //class weird/JavacWeirdnessTester$1 of class weird/JavacWeirdnessTester
The "JavacWeirdnessTester" class comes from a gwt test[1], and was compiled using javac8 -source 7 -
target 7.
[1] https://code.google.com/p/google-web-
toolkit/source/browse/trunk/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.j
ava