| public class Issue3826 { |
| public static <B, T extends B> void getOption(Class<T> cls, B[] opts) {} |
| |
| public static class ClassA { |
| public static class InnerClassA { |
| interface InnerInnerClassA {} |
| } |
| } |
| |
| public static class ClassB { |
| public abstract static class InnerClassB {} |
| } |
| |
| public static class ClassC { |
| interface InterfaceClassC extends ClassA.InnerClassA.InnerInnerClassA {} |
| |
| private static class InnerClassC extends ClassA.InnerClassA implements InterfaceClassC {} |
| |
| public ClassC(ClassA.InnerClassA.InnerInnerClassA... opts) { |
| // Does not crash |
| Issue3826.<ClassA.InnerClassA.InnerInnerClassA, InnerClassC>getOption( |
| InnerClassC.class, opts); |
| // Crashes |
| Issue3826.getOption(InnerClassC.class, opts); |
| } |
| } |
| } |