diff options
Diffstat (limited to 'test/536-checker-needs-access-check/src2/other/InaccessibleClass.java')
| -rw-r--r-- | test/536-checker-needs-access-check/src2/other/InaccessibleClass.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/536-checker-needs-access-check/src2/other/InaccessibleClass.java b/test/536-checker-needs-access-check/src2/other/InaccessibleClass.java index 273226375e..743d1ff2e0 100644 --- a/test/536-checker-needs-access-check/src2/other/InaccessibleClass.java +++ b/test/536-checker-needs-access-check/src2/other/InaccessibleClass.java @@ -16,5 +16,26 @@ package other; +import other2.GetInaccessibleClass; + /*package*/ class InaccessibleClass { + /// CHECK-START: java.lang.Class other.InaccessibleClass.$noinline$getReferrersClass() builder (after) + /// CHECK: LoadClass class_name:other.InaccessibleClass needs_access_check:false + public static Class<?> $noinline$getReferrersClass() { + return InaccessibleClass.class; + } + + /// CHECK-START: java.lang.Class other.InaccessibleClass.$noinline$getReferrersClassViaAnotherClass() builder (after) + // CHECK: LoadClass class_name:other.InaccessibleClass needs_access_check:true + public static Class<?> $noinline$getReferrersClassViaAnotherClass() { + // TODO: Make the called method `$inline$` and enable the CHECK above + // once we do not flag access check failures as soft-fail in the verifier. + // b/28313047 + Class<?> klass = null; + try { + klass = GetInaccessibleClass.get(); + throw new Error("Unreachable"); + } catch (IllegalAccessError expected) {} + return klass; + } } |