588 }
589 cls.setBootstrapMethods(Arrays.asList(bsms));
590 }
591
592 void readInnerClasses(Class cls) throws IOException {
593 int nc = readUnsignedShort();
594 ArrayList<InnerClass> ics = new ArrayList<>(nc);
595 for (int i = 0; i < nc; i++) {
596 InnerClass ic =
597 new InnerClass(readClassRef(),
598 readClassRefOrNull(),
599 (Utf8Entry)readRefOrNull(CONSTANT_Utf8),
600 readUnsignedShort());
601 ics.add(ic);
602 }
603 cls.innerClasses = ics; // set directly; do not use setInnerClasses.
604 // (Later, ics may be transferred to the pkg.)
605 }
606
607 static class ClassFormatException extends IOException {
608 private static final long serialVersionUID = -3564121733989501833L;
609
610 public ClassFormatException(String message) {
611 super(message);
612 }
613
614 public ClassFormatException(String message, Throwable cause) {
615 super(message, cause);
616 }
617 }
618 }
|
588 }
589 cls.setBootstrapMethods(Arrays.asList(bsms));
590 }
591
592 void readInnerClasses(Class cls) throws IOException {
593 int nc = readUnsignedShort();
594 ArrayList<InnerClass> ics = new ArrayList<>(nc);
595 for (int i = 0; i < nc; i++) {
596 InnerClass ic =
597 new InnerClass(readClassRef(),
598 readClassRefOrNull(),
599 (Utf8Entry)readRefOrNull(CONSTANT_Utf8),
600 readUnsignedShort());
601 ics.add(ic);
602 }
603 cls.innerClasses = ics; // set directly; do not use setInnerClasses.
604 // (Later, ics may be transferred to the pkg.)
605 }
606
607 static class ClassFormatException extends IOException {
608 @java.io.Serial
609 private static final long serialVersionUID = -3564121733989501833L;
610
611 public ClassFormatException(String message) {
612 super(message);
613 }
614
615 public ClassFormatException(String message, Throwable cause) {
616 super(message, cause);
617 }
618 }
619 }
|