1.class public LB27799205_5;
2.super Ljava/lang/Object;
3
4# A class with an unresolved array type should not fail hard (unless it's a primitive-type access).
5# Make sure that merging is pro-active.
6
7.method public static run()V
8.registers 1
9       return-void
10.end method
11
12# Use some non-resolvable non-array type.
13.method public static test(Ldo/not/resolve/L;[Ldo/not/resolve/K;Z)V
14.registers 6
15       # Make v0, v1 and v2 null. We'll use v0 as a merge of the inputs, v1 as null, and v2 as 0.
16       const v0, 0
17       const v1, 0
18       const v2, 0
19
20       # Conditional jump so we have a merge point.
21       if-eqz v5, :LabelSelectUnresolved
22
23:LabelSelectResolved
24       move-object v0, v3
25       goto :LabelMerged
26
27:LabelSelectUnresolved
28       move-object v0, v4
29       goto :LabelMerged
30
31:LabelMerged
32       # At this point, v0 should be Object.
33
34       # Test aput-object: v0[v2] = v1. Should fail for v0 not being an array.
35       aput-object v1, v0, v2
36
37       return-void
38
39.end method
40