blob: 8a5f6c833ca562af905ecd939fefe88de01f90c0 [file] [log] [blame]
clementberaa14f58b2019-04-29 10:58:16 +02001// Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5package nestHostExample;
6
7public class BasicNestHostWithInnerClassConstructors {
8
9 public String field;
10
11 private BasicNestHostWithInnerClassConstructors(String field) {
12 this.field = field;
13 }
14
clementberab0ff8542019-05-09 14:37:10 +020015 private BasicNestHostWithInnerClassConstructors(int intVal) {
16 this.field = String.valueOf(intVal);
17 }
18
clementberaa14f58b2019-04-29 10:58:16 +020019 public static BasicNestedClass createNestedInstance(String field) {
20 return new BasicNestedClass(field);
21 }
22
23 public static class BasicNestedClass {
24
25 public String field;
26
27 private BasicNestedClass(String field) {
28 this.field = field;
29 }
30
clementbera82a0f002019-05-20 09:43:12 +020031 private BasicNestedClass(String unused, String field, String alsoUnused) {
32 this.field = field + "UnusedConstructor";
33 }
34
clementberaa14f58b2019-04-29 10:58:16 +020035 public static BasicNestHostWithInnerClassConstructors createOuterInstance(String field) {
36 return new BasicNestHostWithInnerClassConstructors(field);
37 }
38 }
39
40 public static void main(String[] args) {
41 BasicNestHostWithInnerClassConstructors outer = BasicNestedClass.createOuterInstance("field");
42 BasicNestedClass inner =
43 BasicNestHostWithInnerClassConstructors.createNestedInstance("nest1SField");
clementberab0ff8542019-05-09 14:37:10 +020044 BasicNestHostWithInnerClassConstructors noBridge =
45 new BasicNestHostWithInnerClassConstructors(1);
clementbera82a0f002019-05-20 09:43:12 +020046 BasicNestedClass unusedParamConstructor =
47 new BasicNestedClass("unused", "innerField", "alsoUnused");
clementberaa14f58b2019-04-29 10:58:16 +020048
49 System.out.println(outer.field);
50 System.out.println(inner.field);
clementberab0ff8542019-05-09 14:37:10 +020051 System.out.println(noBridge.field);
clementbera82a0f002019-05-20 09:43:12 +020052 System.out.println(unusedParamConstructor.field);
clementberaa14f58b2019-04-29 10:58:16 +020053 }
54}