.class public LB27799205_5;
.super Ljava/lang/Object;

# A class with an unresolved array type should not fail hard (unless it's a primitive-type access).
# Make sure that merging is pro-active.

.method public static run()V
.registers 1
       return-void
.end method

# Use some non-resolvable non-array type.
.method public static test(Ldo/not/resolve/L;[Ldo/not/resolve/K;Z)V
.registers 6
       # Make v0, v1 and v2 null. We'll use v0 as a merge of the inputs, v1 as null, and v2 as 0.
       const v0, 0
       const v1, 0
       const v2, 0

       # Conditional jump so we have a merge point.
       if-eqz v5, :LabelSelectUnresolved

:LabelSelectResolved
       move-object v0, v3
       goto :LabelMerged

:LabelSelectUnresolved
       move-object v0, v4
       goto :LabelMerged

:LabelMerged
       # At this point, v0 should be Object.

       # Test aput-object: v0[v2] = v1. Should fail for v0 not being an array.
       aput-object v1, v0, v2

       return-void

.end method
