1d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik#
2d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# Copyright (C) 2016 The Android Open Source Project
3d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik#
4d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# Licensed under the Apache License, Version 2.0 (the "License");
5d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# you may not use this file except in compliance with the License.
6d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# You may obtain a copy of the License at
7d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik#
8d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik#     http://www.apache.org/licenses/LICENSE-2.0
9d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik#
10d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# Unless required by applicable law or agreed to in writing, software
11d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# distributed under the License is distributed on an "AS IS" BASIS,
12d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# See the License for the specific language governing permissions and
14d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# limitations under the License.
15d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik
16d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik.class public LMerge;
17d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik.super Ljava/lang/Object;
18d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik
19d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# Method that selects between x = new Integer[] or new AnError[],
20d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik# Reference type propagation should correctly see error in component type.
21d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik.method public static select(Z)Ljava/lang/Object;
22d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    .registers 2
23d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    const/16 v0, 10
24d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    if-eqz v1, :Skip
25d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    new-array v0, v0, [LAnError;
26d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    goto :Done
27d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik:Skip
28d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    new-array v0, v0, [Ljava/lang/Integer;
29d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik:Done
30d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik    return-object v0
31d1d7c40c8004303d1131ebb1956fd0ade54f8404Aart Bik.end method
32