summaryrefslogtreecommitdiff
path: root/test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java')
-rw-r--r--test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java138
1 files changed, 134 insertions, 4 deletions
diff --git a/test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java b/test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java
index 65e072de72..73110697ac 100644
--- a/test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java
+++ b/test/727-checker-unresolved-class/src/unresolved/UnresolvedClass.java
@@ -22,7 +22,20 @@ import resolved.ResolvedPublicSubclassOfPackagePrivateClass;
public class UnresolvedClass {
public static void $noinline$main() {
$noinline$testPublicFieldInResolvedPackagePrivateClass();
- $noinline$testPublicFieldInPackagePrivateClassReferencedViaResolvedPublicSubclass();
+ $noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass();
+ $noinline$testPrivateFieldInResolvedPackagePrivateClass();
+ $noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass();
+ $noinline$testPackagePrivateFieldInResolvedPackagePrivateClass();
+ $noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass();
+
+ $noinline$testPublicMethodInResolvedPackagePrivateClass();
+ $noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass();
+ $noinline$testPrivateMethodInResolvedPackagePrivateClass();
+ $noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass();
+ $noinline$testPackagePrivateMethodInResolvedPackagePrivateClass();
+ $noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass();
+
+ System.out.println("UnresolvedClass passed");
}
/// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicFieldInResolvedPackagePrivateClass() builder (after)
@@ -37,13 +50,130 @@ public class UnresolvedClass {
} catch (IllegalAccessError expected) {}
}
- /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicFieldInPackagePrivateClassReferencedViaResolvedPublicSubclass() builder (after)
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
/// CHECK: UnresolvedStaticFieldSet
- /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicFieldInPackagePrivateClassReferencedViaResolvedPublicSubclass() builder (after)
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
/// CHECK-NOT: StaticFieldSet
- static void $noinline$testPublicFieldInPackagePrivateClassReferencedViaResolvedPublicSubclass() {
+ static void $noinline$testPublicFieldInPackagePrivateClassViaResolvedPublicSubclass() {
// TODO: Use StaticFieldSet when the referenced class is public.
ResolvedPublicSubclassOfPackagePrivateClass.publicIntField = 42;
}
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateFieldInResolvedPackagePrivateClass() builder (after)
+ /// CHECK: UnresolvedStaticFieldSet
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateFieldInResolvedPackagePrivateClass() builder (after)
+ /// CHECK-NOT: StaticFieldSet
+ static void $noinline$testPrivateFieldInResolvedPackagePrivateClass() {
+ try {
+ ResolvedPackagePrivateClass.privateIntField = 42;
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK: UnresolvedStaticFieldSet
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK-NOT: StaticFieldSet
+ static void $noinline$testPrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() {
+ try {
+ ResolvedPublicSubclassOfPackagePrivateClass.privateIntField = 42;
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateFieldInResolvedPackagePrivateClass() builder (after)
+ /// CHECK: UnresolvedStaticFieldSet
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateFieldInResolvedPackagePrivateClass() builder (after)
+ /// CHECK-NOT: StaticFieldSet
+ static void $noinline$testPackagePrivateFieldInResolvedPackagePrivateClass() {
+ try {
+ ResolvedPackagePrivateClass.intField = 42;
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK: UnresolvedStaticFieldSet
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK-NOT: StaticFieldSet
+ static void $noinline$testPackagePrivateFieldInPackagePrivateClassViaResolvedPublicSubclass() {
+ try {
+ ResolvedPublicSubclassOfPackagePrivateClass.intField = 42;
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicMethodInResolvedPackagePrivateClass() builder (after)
+ /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$publicStaticMethod
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicMethodInResolvedPackagePrivateClass() builder (after)
+ /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$publicStaticMethod
+ static void $noinline$testPublicMethodInResolvedPackagePrivateClass() {
+ try {
+ ResolvedPackagePrivateClass.$noinline$publicStaticMethod();
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$publicStaticMethod
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK-NOT: InvokeUnresolved method_name:{{[^$]*}}$noinline$publicStaticMethod
+ static void $noinline$testPublicMethodInPackagePrivateClassViaResolvedPublicSubclass() {
+ ResolvedPublicSubclassOfPackagePrivateClass.$noinline$publicStaticMethod();
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateMethodInResolvedPackagePrivateClass() builder (after)
+ /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$privateStaticMethod
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateMethodInResolvedPackagePrivateClass() builder (after)
+ /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$privateStaticMethod
+ static void $noinline$testPrivateMethodInResolvedPackagePrivateClass() {
+ try {
+ ResolvedPackagePrivateClass.$noinline$privateStaticMethod();
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$privateStaticMethod
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$privateStaticMethod
+ static void $noinline$testPrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() {
+ try {
+ ResolvedPublicSubclassOfPackagePrivateClass.$noinline$privateStaticMethod();
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateMethodInResolvedPackagePrivateClass() builder (after)
+ /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$staticMethod
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateMethodInResolvedPackagePrivateClass() builder (after)
+ /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$staticMethod
+ static void $noinline$testPackagePrivateMethodInResolvedPackagePrivateClass() {
+ try {
+ ResolvedPackagePrivateClass.$noinline$staticMethod();
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK: InvokeUnresolved method_name:{{[^$]*}}$noinline$staticMethod
+
+ /// CHECK-START: void unresolved.UnresolvedClass.$noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() builder (after)
+ /// CHECK-NOT: InvokeStaticOrDirect method_name:{{[^$]*}}$noinline$staticMethod
+ static void $noinline$testPackagePrivateMethodInPackagePrivateClassViaResolvedPublicSubclass() {
+ try {
+ ResolvedPublicSubclassOfPackagePrivateClass.$noinline$staticMethod();
+ throw new Error("Unreachable");
+ } catch (IllegalAccessError expected) {}
+ }
}