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