| // Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| package horizontalclassmerging; |
| |
| import com.android.tools.r8.NeverClassInline; |
| import com.android.tools.r8.NeverInline; |
| |
| public class BasicNestHostHorizontalClassMerging { |
| // Prevent merging with BasicNestHostHorizontalClassMerging2. |
| private String name; |
| |
| private BasicNestHostHorizontalClassMerging(String name) { |
| this.name = name; |
| } |
| |
| @NeverInline |
| private void print(String v) { |
| System.out.println(name + ": " + v); |
| } |
| |
| public static void main(String[] args) { |
| BasicNestHostHorizontalClassMerging host = new BasicNestHostHorizontalClassMerging("1"); |
| new A(host); |
| new B(host); |
| BasicNestHostHorizontalClassMerging2.main(args); |
| } |
| |
| @NeverClassInline |
| public static class A { |
| public A(BasicNestHostHorizontalClassMerging parent) { |
| parent.print("a"); |
| } |
| } |
| |
| @NeverClassInline |
| public static class B { |
| public B(BasicNestHostHorizontalClassMerging parent) { |
| parent.print("b"); |
| } |
| } |
| } |