This is a smoke test of dex conversion, which checks to see that uses of a known-null in contexts that require a specific type end up getting converted to the type in question. When executed, this sort of code will inevitably throw a NullPointerException, but if the opcode weren't correct, they would instead incorrectly fail verification. If you inspect the expected output of this test, you will see that there are some surprising instructions in there, such as using aget-byte for what was a boolean[] in the source code. In these cases, the resulting output is still correct (passes verification and will throw a NullPointerException if ever executed). However, it happens that during translation there simply wasn't enough information to recover the "true" original meaning at the level of actual opcode selection. This test compares emitted code against a known-good (via eyeballing) version, so it is possible for this test to spuriously fail if other aspects of conversion end up altering the output in innocuous ways.