tree f1c75184e3d665c801efeb25e3c2269df1e65b38
parent 75e0eeeeaac165bdabe1a56d55098299204aebe2
author Jinseong Jeon <jsjeon@google.com> 1531428781 -0700
committer Jinseong Jeon <jsjeon@google.com> 1531429430 +0000

Reproduce IllegalAccessError due to a chain of inlinings (b/111080693).

class p1.A {
  protected ... field
}

class p2.Outer {
  private class B {
    ... bar() { ... }
  }
  static class C extends p1.A {
    ... foo() {
      access field
      invoke B#bar()
    }
  }
  static class D {
    ... baz() { ... invoke C#foo() ... }
  }
}

Field access in C#foo restricts itself from being inlined to subtypes.
However, if B#bar is inlined, its inlining constraint, PACKAGE,
overrides the inlining constraint for C#foo, and made it eligible for
being inlined to D#baz, where that field access is no longer allowed.

Bug: 111080693
Change-Id: I55e0a8ca9cdf78f3bdfc50471c43ebe91dfdaa21
