xref: /aosp_15_r20/art/test/727-checker-unresolved-class/src/unresolved/UnresolvedPublicClass.java (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker /*
2*795d594fSAndroid Build Coastguard Worker  * Copyright (C) 2020 The Android Open Source Project
3*795d594fSAndroid Build Coastguard Worker  *
4*795d594fSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*795d594fSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*795d594fSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*795d594fSAndroid Build Coastguard Worker  *
8*795d594fSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*795d594fSAndroid Build Coastguard Worker  *
10*795d594fSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*795d594fSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*795d594fSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*795d594fSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*795d594fSAndroid Build Coastguard Worker  * limitations under the License.
15*795d594fSAndroid Build Coastguard Worker  */
16*795d594fSAndroid Build Coastguard Worker 
17*795d594fSAndroid Build Coastguard Worker package unresolved;
18*795d594fSAndroid Build Coastguard Worker 
19*795d594fSAndroid Build Coastguard Worker import getters.GetUnresolvedPublicClass;
20*795d594fSAndroid Build Coastguard Worker import getters.GetUnresolvedPublicClassFromDifferentDexFile;
21*795d594fSAndroid Build Coastguard Worker import resolved.PackagePrivateSubclassOfUnresolvedClass;
22*795d594fSAndroid Build Coastguard Worker import resolved.PublicSubclassOfUnresolvedClass;
23*795d594fSAndroid Build Coastguard Worker import resolved.ResolvedPackagePrivateClass;
24*795d594fSAndroid Build Coastguard Worker import resolved.ResolvedPublicSubclassOfPackagePrivateClass;
25*795d594fSAndroid Build Coastguard Worker 
26*795d594fSAndroid Build Coastguard Worker public class UnresolvedPublicClass implements BcpExMarker {
$noinline$main()27*795d594fSAndroid Build Coastguard Worker   public static void $noinline$main() {
28*795d594fSAndroid Build Coastguard Worker     $noinline$testReferrersClass();
29*795d594fSAndroid Build Coastguard Worker     $noinline$testInlinedReferrersClass();
30*795d594fSAndroid Build Coastguard Worker     $noinline$testInlinedReferrersClassFromDifferentDexFile();
31*795d594fSAndroid Build Coastguard Worker     $noinline$testInlinedClassDescriptorCompare1();
32*795d594fSAndroid Build Coastguard Worker     $noinline$testInlinedClassDescriptorCompare2();
33*795d594fSAndroid Build Coastguard Worker 
34*795d594fSAndroid Build Coastguard Worker     $noinline$testResolvedPublicClass();
35*795d594fSAndroid Build Coastguard Worker     $noinline$testResolvedPackagePrivateClass();
36*795d594fSAndroid Build Coastguard Worker     $noinline$testUnresolvedPublicClass();
37*795d594fSAndroid Build Coastguard Worker     $noinline$testUnresolvedPackagePrivateClass();
38*795d594fSAndroid Build Coastguard Worker     $noinline$testUnresolvedPublicClassInSamePackage();
39*795d594fSAndroid Build Coastguard Worker     $noinline$testUnresolvedPackagePrivateClassInSamePackage();
40*795d594fSAndroid Build Coastguard Worker 
41*795d594fSAndroid Build Coastguard Worker     $noinline$testPublicFieldInResolvedPackagePrivateClass();
42*795d594fSAndroid Build Coastguard Worker     $noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass();
43*795d594fSAndroid Build Coastguard Worker     $noinline$testPrivateFieldInResolvedPackagePrivateClass();
44*795d594fSAndroid Build Coastguard Worker     $noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass();
45*795d594fSAndroid Build Coastguard Worker     $noinline$testPackagePrivateFieldInResolvedPackagePrivateClass();
46*795d594fSAndroid Build Coastguard Worker     $noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass();
47*795d594fSAndroid Build Coastguard Worker 
48*795d594fSAndroid Build Coastguard Worker     $noinline$testPublicMethodInResolvedPackagePrivateClass();
49*795d594fSAndroid Build Coastguard Worker     $noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass();
50*795d594fSAndroid Build Coastguard Worker     $noinline$testPrivateMethodInResolvedPackagePrivateClass();
51*795d594fSAndroid Build Coastguard Worker     $noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass();
52*795d594fSAndroid Build Coastguard Worker     $noinline$testPackagePrivateMethodInResolvedPackagePrivateClass();
53*795d594fSAndroid Build Coastguard Worker     $noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass();
54*795d594fSAndroid Build Coastguard Worker 
55*795d594fSAndroid Build Coastguard Worker     System.out.println("UnresolvedPublicClass passed");
56*795d594fSAndroid Build Coastguard Worker   }
57*795d594fSAndroid Build Coastguard Worker 
58*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testReferrersClass() builder (after)
59*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:unresolved.UnresolvedPublicClass needs_access_check:false
$noinline$testReferrersClass()60*795d594fSAndroid Build Coastguard Worker   static void $noinline$testReferrersClass() {
61*795d594fSAndroid Build Coastguard Worker     Class<?> c = UnresolvedPublicClass.class;
62*795d594fSAndroid Build Coastguard Worker   }
63*795d594fSAndroid Build Coastguard Worker 
64*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testInlinedReferrersClass() inliner (after)
65*795d594fSAndroid Build Coastguard Worker   // CHECK: LoadClass class_name:unresolved.UnresolvedPublicClass needs_access_check:false
$noinline$testInlinedReferrersClass()66*795d594fSAndroid Build Coastguard Worker   static void $noinline$testInlinedReferrersClass() {
67*795d594fSAndroid Build Coastguard Worker     // TODO: Make $inline$ and enable CHECK above when we relax the verifier. b/28313047
68*795d594fSAndroid Build Coastguard Worker     Class<?> c = GetUnresolvedPublicClass.get();
69*795d594fSAndroid Build Coastguard Worker   }
70*795d594fSAndroid Build Coastguard Worker 
71*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testInlinedReferrersClassFromDifferentDexFile() inliner (after)
72*795d594fSAndroid Build Coastguard Worker   // CHECK: LoadClass class_name:unresolved.UnresolvedPublicClass needs_access_check:false
$noinline$testInlinedReferrersClassFromDifferentDexFile()73*795d594fSAndroid Build Coastguard Worker   static void $noinline$testInlinedReferrersClassFromDifferentDexFile() {
74*795d594fSAndroid Build Coastguard Worker     // TODO: Make $inline$ and enable CHECK above when we relax the verifier. b/28313047
75*795d594fSAndroid Build Coastguard Worker     Class<?> c = GetUnresolvedPublicClassFromDifferentDexFile.get();
76*795d594fSAndroid Build Coastguard Worker   }
77*795d594fSAndroid Build Coastguard Worker 
78*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testInlinedClassDescriptorCompare1() inliner (after)
79*795d594fSAndroid Build Coastguard Worker   // CHECK: LoadClass class_name:resolved.PublicSubclassOfUnresolvedClass needs_access_check:true
$noinline$testInlinedClassDescriptorCompare1()80*795d594fSAndroid Build Coastguard Worker   static void $noinline$testInlinedClassDescriptorCompare1() {
81*795d594fSAndroid Build Coastguard Worker     // TODO: Make $inline$ and enable CHECK above when we relax the verifier. b/28313047
82*795d594fSAndroid Build Coastguard Worker     Class<?> c =
83*795d594fSAndroid Build Coastguard Worker         GetUnresolvedPublicClassFromDifferentDexFile.getOtherClass();
84*795d594fSAndroid Build Coastguard Worker   }
85*795d594fSAndroid Build Coastguard Worker 
86*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testInlinedClassDescriptorCompare2() inliner (after)
87*795d594fSAndroid Build Coastguard Worker   // CHECK: LoadClass class_name:unresolved.UnresolvedPublicClazz needs_access_check:true
$noinline$testInlinedClassDescriptorCompare2()88*795d594fSAndroid Build Coastguard Worker   static void $noinline$testInlinedClassDescriptorCompare2() {
89*795d594fSAndroid Build Coastguard Worker     // This is useful for code coverage of descriptor comparison
90*795d594fSAndroid Build Coastguard Worker     // implemented by first comparing the utf16 lengths and then
91*795d594fSAndroid Build Coastguard Worker     // checking strcmp(). Using these classes we cover the path
92*795d594fSAndroid Build Coastguard Worker     // where utf16 lengths match but string contents differ.
93*795d594fSAndroid Build Coastguard Worker     // TODO: Make $inline$ and enable CHECK above when we relax the verifier. b/28313047
94*795d594fSAndroid Build Coastguard Worker     Class<?> c =
95*795d594fSAndroid Build Coastguard Worker         GetUnresolvedPublicClassFromDifferentDexFile.getOtherClassWithSameDescriptorLength();
96*795d594fSAndroid Build Coastguard Worker   }
97*795d594fSAndroid Build Coastguard Worker 
98*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testResolvedPublicClass() builder (after)
99*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:resolved.ResolvedPublicSubclassOfPackagePrivateClass needs_access_check:false
$noinline$testResolvedPublicClass()100*795d594fSAndroid Build Coastguard Worker   static void $noinline$testResolvedPublicClass() {
101*795d594fSAndroid Build Coastguard Worker     Class<?> c = ResolvedPublicSubclassOfPackagePrivateClass.class;
102*795d594fSAndroid Build Coastguard Worker   }
103*795d594fSAndroid Build Coastguard Worker 
104*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testResolvedPackagePrivateClass() builder (after)
105*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:resolved.ResolvedPackagePrivateClass needs_access_check:true
$noinline$testResolvedPackagePrivateClass()106*795d594fSAndroid Build Coastguard Worker   static void $noinline$testResolvedPackagePrivateClass() {
107*795d594fSAndroid Build Coastguard Worker     try {
108*795d594fSAndroid Build Coastguard Worker       Class<?> c = ResolvedPackagePrivateClass.class;
109*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
110*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
111*795d594fSAndroid Build Coastguard Worker   }
112*795d594fSAndroid Build Coastguard Worker 
113*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPublicClass() builder (after)
114*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:resolved.PublicSubclassOfUnresolvedClass needs_access_check:true
115*795d594fSAndroid Build Coastguard Worker 
116*795d594fSAndroid Build Coastguard Worker   /// CHECK-START-{ARM,ARM64,X86,X86_64}: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPublicClass() builder (after)
117*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass load_kind:BssEntryPublic class_name:resolved.PublicSubclassOfUnresolvedClass
$noinline$testUnresolvedPublicClass()118*795d594fSAndroid Build Coastguard Worker   static void $noinline$testUnresolvedPublicClass() {
119*795d594fSAndroid Build Coastguard Worker     Class<?> c = PublicSubclassOfUnresolvedClass.class;
120*795d594fSAndroid Build Coastguard Worker   }
121*795d594fSAndroid Build Coastguard Worker 
122*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPackagePrivateClass() builder (after)
123*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:resolved.PackagePrivateSubclassOfUnresolvedClass needs_access_check:true
124*795d594fSAndroid Build Coastguard Worker 
125*795d594fSAndroid Build Coastguard Worker   /// CHECK-START-{ARM,ARM64,X86,X86_64}: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPackagePrivateClass() builder (after)
126*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass load_kind:BssEntryPublic class_name:resolved.PackagePrivateSubclassOfUnresolvedClass
$noinline$testUnresolvedPackagePrivateClass()127*795d594fSAndroid Build Coastguard Worker   static void $noinline$testUnresolvedPackagePrivateClass() {
128*795d594fSAndroid Build Coastguard Worker     try {
129*795d594fSAndroid Build Coastguard Worker       Class<?> c = PackagePrivateSubclassOfUnresolvedClass.class;
130*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
131*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
132*795d594fSAndroid Build Coastguard Worker   }
133*795d594fSAndroid Build Coastguard Worker 
134*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPublicClassInSamePackage() builder (after)
135*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:unresolved.UnresolvedPublicClazz needs_access_check:true
136*795d594fSAndroid Build Coastguard Worker 
137*795d594fSAndroid Build Coastguard Worker   /// CHECK-START-{ARM,ARM64,X86,X86_64}: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPublicClassInSamePackage() builder (after)
138*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass load_kind:BssEntryPackage class_name:unresolved.UnresolvedPublicClazz
$noinline$testUnresolvedPublicClassInSamePackage()139*795d594fSAndroid Build Coastguard Worker   static void $noinline$testUnresolvedPublicClassInSamePackage() {
140*795d594fSAndroid Build Coastguard Worker     Class<?> c = UnresolvedPublicClazz.class;
141*795d594fSAndroid Build Coastguard Worker   }
142*795d594fSAndroid Build Coastguard Worker 
143*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPackagePrivateClassInSamePackage() builder (after)
144*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass class_name:unresolved.UnresolvedPackagePrivateClass needs_access_check:true
145*795d594fSAndroid Build Coastguard Worker 
146*795d594fSAndroid Build Coastguard Worker   /// CHECK-START-{ARM,ARM64,X86,X86_64}: void unresolved.UnresolvedPublicClass.$noinline$testUnresolvedPackagePrivateClassInSamePackage() builder (after)
147*795d594fSAndroid Build Coastguard Worker   /// CHECK: LoadClass load_kind:BssEntryPackage class_name:unresolved.UnresolvedPackagePrivateClass
$noinline$testUnresolvedPackagePrivateClassInSamePackage()148*795d594fSAndroid Build Coastguard Worker   static void $noinline$testUnresolvedPackagePrivateClassInSamePackage() {
149*795d594fSAndroid Build Coastguard Worker     Class<?> c = UnresolvedPackagePrivateClass.class;
150*795d594fSAndroid Build Coastguard Worker   }
151*795d594fSAndroid Build Coastguard Worker 
152*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicFieldInResolvedPackagePrivateClass() builder (after)
153*795d594fSAndroid Build Coastguard Worker   /// CHECK: UnresolvedStaticFieldSet
154*795d594fSAndroid Build Coastguard Worker 
155*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicFieldInResolvedPackagePrivateClass() builder (after)
156*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: StaticFieldSet
$noinline$testPublicFieldInResolvedPackagePrivateClass()157*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPublicFieldInResolvedPackagePrivateClass() {
158*795d594fSAndroid Build Coastguard Worker     try {
159*795d594fSAndroid Build Coastguard Worker       ResolvedPackagePrivateClass.publicIntField = 42;
160*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
161*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
162*795d594fSAndroid Build Coastguard Worker   }
163*795d594fSAndroid Build Coastguard Worker 
164*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
165*795d594fSAndroid Build Coastguard Worker   /// CHECK: StaticFieldSet
166*795d594fSAndroid Build Coastguard Worker 
167*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
168*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: UnresolvedStaticFieldSet
$noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass()169*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass() {
170*795d594fSAndroid Build Coastguard Worker     ResolvedPublicSubclassOfPackagePrivateClass.publicIntField = 42;
171*795d594fSAndroid Build Coastguard Worker   }
172*795d594fSAndroid Build Coastguard Worker 
173*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateFieldInResolvedPackagePrivateClass() builder (after)
174*795d594fSAndroid Build Coastguard Worker   /// CHECK: UnresolvedStaticFieldSet
175*795d594fSAndroid Build Coastguard Worker 
176*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateFieldInResolvedPackagePrivateClass() builder (after)
177*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: StaticFieldSet
$noinline$testPrivateFieldInResolvedPackagePrivateClass()178*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPrivateFieldInResolvedPackagePrivateClass() {
179*795d594fSAndroid Build Coastguard Worker     try {
180*795d594fSAndroid Build Coastguard Worker       ResolvedPackagePrivateClass.privateIntField = 42;
181*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
182*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
183*795d594fSAndroid Build Coastguard Worker   }
184*795d594fSAndroid Build Coastguard Worker 
185*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
186*795d594fSAndroid Build Coastguard Worker   /// CHECK: UnresolvedStaticFieldSet
187*795d594fSAndroid Build Coastguard Worker 
188*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
189*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: StaticFieldSet
$noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass()190*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() {
191*795d594fSAndroid Build Coastguard Worker     try {
192*795d594fSAndroid Build Coastguard Worker       ResolvedPublicSubclassOfPackagePrivateClass.privateIntField = 42;
193*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
194*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
195*795d594fSAndroid Build Coastguard Worker   }
196*795d594fSAndroid Build Coastguard Worker 
197*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateFieldInResolvedPackagePrivateClass() builder (after)
198*795d594fSAndroid Build Coastguard Worker   /// CHECK: UnresolvedStaticFieldSet
199*795d594fSAndroid Build Coastguard Worker 
200*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateFieldInResolvedPackagePrivateClass() builder (after)
201*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: StaticFieldSet
$noinline$testPackagePrivateFieldInResolvedPackagePrivateClass()202*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPackagePrivateFieldInResolvedPackagePrivateClass() {
203*795d594fSAndroid Build Coastguard Worker     try {
204*795d594fSAndroid Build Coastguard Worker       ResolvedPackagePrivateClass.intField = 42;
205*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
206*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
207*795d594fSAndroid Build Coastguard Worker   }
208*795d594fSAndroid Build Coastguard Worker 
209*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
210*795d594fSAndroid Build Coastguard Worker   /// CHECK: UnresolvedStaticFieldSet
211*795d594fSAndroid Build Coastguard Worker 
212*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
213*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: StaticFieldSet
$noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass()214*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() {
215*795d594fSAndroid Build Coastguard Worker     try {
216*795d594fSAndroid Build Coastguard Worker       ResolvedPublicSubclassOfPackagePrivateClass.intField = 42;
217*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
218*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
219*795d594fSAndroid Build Coastguard Worker   }
220*795d594fSAndroid Build Coastguard Worker 
221*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicMethodInResolvedPackagePrivateClass() builder (after)
222*795d594fSAndroid Build Coastguard Worker   /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$publicStaticMethod
223*795d594fSAndroid Build Coastguard Worker 
224*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicMethodInResolvedPackagePrivateClass() builder (after)
225*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$publicStaticMethod
$noinline$testPublicMethodInResolvedPackagePrivateClass()226*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPublicMethodInResolvedPackagePrivateClass() {
227*795d594fSAndroid Build Coastguard Worker     try {
228*795d594fSAndroid Build Coastguard Worker       ResolvedPackagePrivateClass.$noinline$publicStaticMethod();
229*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
230*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
231*795d594fSAndroid Build Coastguard Worker   }
232*795d594fSAndroid Build Coastguard Worker 
233*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
234*795d594fSAndroid Build Coastguard Worker   /// CHECK: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$publicStaticMethod
235*795d594fSAndroid Build Coastguard Worker 
236*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
237*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: InvokeUnresolved method_name:{{[^$]*}}$noinline$publicStaticMethod
$noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass()238*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass() {
239*795d594fSAndroid Build Coastguard Worker     ResolvedPublicSubclassOfPackagePrivateClass.$noinline$publicStaticMethod();
240*795d594fSAndroid Build Coastguard Worker   }
241*795d594fSAndroid Build Coastguard Worker 
242*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateMethodInResolvedPackagePrivateClass() builder (after)
243*795d594fSAndroid Build Coastguard Worker   /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$privateStaticMethod
244*795d594fSAndroid Build Coastguard Worker 
245*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateMethodInResolvedPackagePrivateClass() builder (after)
246*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$privateStaticMethod
$noinline$testPrivateMethodInResolvedPackagePrivateClass()247*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPrivateMethodInResolvedPackagePrivateClass() {
248*795d594fSAndroid Build Coastguard Worker     try {
249*795d594fSAndroid Build Coastguard Worker       ResolvedPackagePrivateClass.$noinline$privateStaticMethod();
250*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
251*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
252*795d594fSAndroid Build Coastguard Worker   }
253*795d594fSAndroid Build Coastguard Worker 
254*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
255*795d594fSAndroid Build Coastguard Worker   /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$privateStaticMethod
256*795d594fSAndroid Build Coastguard Worker 
257*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
258*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$privateStaticMethod
$noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass()259*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() {
260*795d594fSAndroid Build Coastguard Worker     try {
261*795d594fSAndroid Build Coastguard Worker       ResolvedPublicSubclassOfPackagePrivateClass.$noinline$privateStaticMethod();
262*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
263*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
264*795d594fSAndroid Build Coastguard Worker   }
265*795d594fSAndroid Build Coastguard Worker 
266*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateMethodInResolvedPackagePrivateClass() builder (after)
267*795d594fSAndroid Build Coastguard Worker   /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$staticMethod
268*795d594fSAndroid Build Coastguard Worker 
269*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateMethodInResolvedPackagePrivateClass() builder (after)
270*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$staticMethod
$noinline$testPackagePrivateMethodInResolvedPackagePrivateClass()271*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPackagePrivateMethodInResolvedPackagePrivateClass() {
272*795d594fSAndroid Build Coastguard Worker     try {
273*795d594fSAndroid Build Coastguard Worker       ResolvedPackagePrivateClass.$noinline$staticMethod();
274*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
275*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
276*795d594fSAndroid Build Coastguard Worker   }
277*795d594fSAndroid Build Coastguard Worker 
278*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
279*795d594fSAndroid Build Coastguard Worker   /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$staticMethod
280*795d594fSAndroid Build Coastguard Worker 
281*795d594fSAndroid Build Coastguard Worker   /// CHECK-START: void unresolved.UnresolvedPublicClass.$noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
282*795d594fSAndroid Build Coastguard Worker   /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$staticMethod
$noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass()283*795d594fSAndroid Build Coastguard Worker   static void $noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() {
284*795d594fSAndroid Build Coastguard Worker     try {
285*795d594fSAndroid Build Coastguard Worker       ResolvedPublicSubclassOfPackagePrivateClass.$noinline$staticMethod();
286*795d594fSAndroid Build Coastguard Worker       throw new Error("Unreachable");
287*795d594fSAndroid Build Coastguard Worker     } catch (IllegalAccessError expected) {}
288*795d594fSAndroid Build Coastguard Worker   }
289*795d594fSAndroid Build Coastguard Worker }
290