xref: /aosp_15_r20/dalvik/dx/tests/111-use-null-as-array/info.txt (revision 055d459012065f78d96b68be8421640240ddf631)
1*055d4590SKeyi GuiThis is a smoke test of dex conversion, which checks to see that uses
2*055d4590SKeyi Guiof a known-null in contexts that require a specific type end up getting
3*055d4590SKeyi Guiconverted to the type in question. When executed, this sort of code
4*055d4590SKeyi Guiwill inevitably throw a NullPointerException, but if the opcode weren't
5*055d4590SKeyi Guicorrect, they would instead incorrectly fail verification.
6*055d4590SKeyi Gui
7*055d4590SKeyi GuiIf you inspect the expected output of this test, you will see that
8*055d4590SKeyi Guithere are some surprising instructions in there, such as using
9*055d4590SKeyi Guiaget-byte for what was a boolean[] in the source code. In these cases,
10*055d4590SKeyi Guithe resulting output is still correct (passes verification and will
11*055d4590SKeyi Guithrow a NullPointerException if ever executed). However, it happens
12*055d4590SKeyi Guithat during translation there simply wasn't enough information to
13*055d4590SKeyi Guirecover the "true" original meaning at the level of actual opcode
14*055d4590SKeyi Guiselection.
15*055d4590SKeyi Gui
16*055d4590SKeyi GuiThis test compares emitted code against a known-good (via eyeballing)
17*055d4590SKeyi Guiversion, so it is possible for this test to spuriously fail if other
18*055d4590SKeyi Guiaspects of conversion end up altering the output in innocuous ways.
19