The situations in these tests were discovered by running the mutating
dexfuzz on the DEX files of fuzzingly random generated Java test.
(A) b/28908555:
soft verification failure (on the final field modification) should
not hide the hard verification failure (on the type mismatch) to
avoid compiler crash later on
(B) b/29070461:
hard verification failure (not calling super in constructor) should
bail immediately and not allow soft verification failures to pile up
behind it to avoid fatal message later on
(C) b/29068831:
access validation on field should occur prior to null reference check
(D) b/29126870:
soft verification failure (cannot access) should not hide the hard
verification failure (non-reference type) to avoid a compiler crash
later on
(E) b/29068831:
access validation on method should occur prior to null reference check
(F) b/29758098:
new-instance of java.lang.Class should throw an IllegalAccessError to
avoid interpreter crash on zero size object later