Handle ACONST_NULL multidimensional arrays.

Instead of inferring that an AALOAD following an ACONST_NULL means that
the null constant was of type Object[] and the result is of type Object,
infer that the result is also null and don't infer the type of the null
constant. Note that this is also incorrect but it doesn't matter since
the code will always throw a NullPointerException at runtime.

This removes dx's reliance on javac bug
https://bugs.openjdk.java.net/browse/JDK-7040592

Bug: 25075957

(cherry picked from commit 54576c56f05c659186dc2117ecb7ed2739c175df)

Change-Id: I021a6686cfc298ada50df04fd6b345f4ad838229
4 files changed