void writeLocalInnerClasses(Class cls) throws IOException {
  List<InnerClass> localICs=cls.getInnerClasses();
  class_InnerClasses_N.putInt(localICs.size());
  for (  InnerClass ic : localICs) {
    class_InnerClasses_RC.putRef(ic.thisClass);
    if (ic.equals(pkg.getGlobalInnerClass(ic.thisClass))) {
      class_InnerClasses_F.putInt(0);
    }
 else {
      int flags=ic.flags;
      if (flags == 0)       flags=ACC_IC_LONG_FORM;
      class_InnerClasses_F.putInt(flags);
      class_InnerClasses_outer_RCN.putRef(ic.outerClass);
      class_InnerClasses_name_RUN.putRef(ic.name);
    }
  }
}

void writeLocalInnerClasses ( Class cls ) throws IOException { List < InnerClass > localICs = cls . getInnerClasses ( ) ; class_InnerClasses_N . putInt ( localICs . size ( ) ) ; for ( InnerClass ic : localICs ) { class_InnerClasses_RC . putRef ( ic . thisClass ) ; if ( ic . equals ( pkg . getGlobalInnerClass ( ic . thisClass ) ) ) { class_InnerClasses_F . putInt ( 0 ) ; } else { int flags = ic . flags ; if ( flags == 0 ) flags = ACC_IC_LONG_FORM ; class_InnerClasses_F . putInt ( flags ) ; class_InnerClasses_outer_RCN . putRef ( ic . outerClass ) ; class_InnerClasses_name_RUN . putRef ( ic . name ) ; } } }
if there are any extra innerclasses entries to write which are not already implied by the global table , put them into a local attribute . this is expected to be rare .
