blob: db3612b6462414842ff085cbf05fd73c89f2b5a6 [file] [log] [blame]
Nicolas Geoffrayd5a86952021-01-19 10:35:54 +00001/*
2 * Copyright (C) 2021 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17import java.lang.reflect.Method;
18
19// An interface with enough methods to trigger a conflict.
20interface Itf {
21 public void method0a();
22 public void method0b();
23 public void method0c();
24 public void method0d();
25 public void method0e();
26 public void method0f();
27 public void method0g();
28 public void method0h();
29 public void method0i();
30 public void method0j();
31 public void method0k();
32 public void method0l();
33 public void method0m();
34 public void method0n();
35 public void method0o();
36 public void method0p();
37 public void method0q();
38 public void method0r();
39 public void method0s();
40 public void method0t();
41 public void method0u();
42 public void method0v();
43 public void method0w();
44 public void method0x();
45 public void method0y();
46 public void method0z();
47 public void method1a();
48 public void method1b();
49 public void method1c();
50 public void method1d();
51 public void method1e();
52 public void method1f();
53 public void method1g();
54 public void method1h();
55 public void method1i();
56 public void method1j();
57 public void method1k();
58 public void method1l();
59 public void method1m();
60 public void method1n();
61 public void method1o();
62 public void method1p();
63 public void method1q();
64 public void method1r();
65 public void method1s();
66 public void method1t();
67 public void method1u();
68 public void method1v();
69 public void method1w();
70 public void method1x();
71 public void method1y();
72 public void method1z();
73 public void method2a();
74 public void method2b();
75 public void method2c();
76 public void method2d();
77 public void method2e();
78 public void method2f();
79 public void method2g();
80 public void method2h();
81 public void method2i();
82 public void method2j();
83 public void method2k();
84 public void method2l();
85 public void method2m();
86 public void method2n();
87 public void method2o();
88 public void method2p();
89 public void method2q();
90 public void method2r();
91 public void method2s();
92 public void method2t();
93 public void method2u();
94 public void method2v();
95 public void method2w();
96 public void method2x();
97 public void method2y();
98 public void method2z();
99
100 public default void $noinline$defaultRecursiveMethod(boolean callRecursive) {
101 if (callRecursive) {
102 $noinline$defaultRecursiveMethod(false);
103 }
104 }
105}
106
107public class Main implements Itf {
108 public static void main(String[] args) throws Exception {
109 Main main = new Main();
110 main.$noinline$defaultRecursiveMethod(true);
111 }
112
113 public void method0a() {}
114 public void method0b() {}
115 public void method0c() {}
116 public void method0d() {}
117 public void method0e() {}
118 public void method0f() {}
119 public void method0g() {}
120 public void method0h() {}
121 public void method0i() {}
122 public void method0j() {}
123 public void method0k() {}
124 public void method0l() {}
125 public void method0m() {}
126 public void method0n() {}
127 public void method0o() {}
128 public void method0p() {}
129 public void method0q() {}
130 public void method0r() {}
131 public void method0s() {}
132 public void method0t() {}
133 public void method0u() {}
134 public void method0v() {}
135 public void method0w() {}
136 public void method0x() {}
137 public void method0y() {}
138 public void method0z() {}
139 public void method1a() {}
140 public void method1b() {}
141 public void method1c() {}
142 public void method1d() {}
143 public void method1e() {}
144 public void method1f() {}
145 public void method1g() {}
146 public void method1h() {}
147 public void method1i() {}
148 public void method1j() {}
149 public void method1k() {}
150 public void method1l() {}
151 public void method1m() {}
152 public void method1n() {}
153 public void method1o() {}
154 public void method1p() {}
155 public void method1q() {}
156 public void method1r() {}
157 public void method1s() {}
158 public void method1t() {}
159 public void method1u() {}
160 public void method1v() {}
161 public void method1w() {}
162 public void method1x() {}
163 public void method1y() {}
164 public void method1z() {}
165 public void method2a() {}
166 public void method2b() {}
167 public void method2c() {}
168 public void method2d() {}
169 public void method2e() {}
170 public void method2f() {}
171 public void method2g() {}
172 public void method2h() {}
173 public void method2i() {}
174 public void method2j() {}
175 public void method2k() {}
176 public void method2l() {}
177 public void method2m() {}
178 public void method2n() {}
179 public void method2o() {}
180 public void method2p() {}
181 public void method2q() {}
182 public void method2r() {}
183 public void method2s() {}
184 public void method2t() {}
185 public void method2u() {}
186 public void method2v() {}
187 public void method2w() {}
188 public void method2x() {}
189 public void method2y() {}
190 public void method2z() {}
191}