Use ASM5 to solve java 8 issues
RX14 opened this issue ยท 7 comments
The ASM4 api crashes when it reaches a java 8 class with the message java.lang.IllegalArgumentException: INVOKESPECIAL/STATIC on interfaces require ASM 5
. Forge is using ASM5, but you manually specify to use ASM4 in your subclasses of ClassTransformer. Because several mods that utilise java 8 have come out, this causes a crash on startup.
See NOVA-Team/NOVA-Monorepo#185 for the original issue.
I belive this may simply be fixed by changing the Opcodes.ASM4
to Opcodes.ASM5
in your source, although this may cause other incompatibilities. Unfortunately my current computer is not good enough to run minecraft so I cannot contribute and test a patch.
Thanks in advance.
Here seems to be a migration guide to ASM5, it looks like you need to do more than simply replace that code: http://movingfulcrum.tumblr.com/post/80826553604/asm-framework-50-the-missing-migration-guide
although this may cause other incompatibilities
Yup, tons of it. Sorry, but there are still quite a lot of instances (bukkit) that ships with ASM4.
EDIT: IMO, no mod should require Java 8 at this point, as long as MC supports 1.6 only.
Ah, i didn't realise this library was used outside of MinecraftForge. It seems unfortunate that the mods that use java 8 cause an immediate crash with this mod though. Is there any other workaround?
Ok, it looks that since last time I checked, Forge/FML officially updated to ASM5. So it looks like I can update too.