cm's decompiler actually does not handle arrays properly either
It actually compiles/decompiles it just fine, and you can see all the correct opcodes, it's just the code it displays in the disassembly file that isn't quite right when you start to work with arrays on objects.
Decompiling? Just fine. Disassembly, slightly less so.