Exemple #1
0
  private void readInstanceInfos(ABC.ClassInfos classInfos, int count) throws IOException {
    for (int i = 0; i < count; i++) {

      int nameIndex = in.readVU30();
      int superIndex = in.readVU30();
      int flags = in.readUI8();

      int protectedNS = 0;
      if (InstanceInfoFlags.HasProtectedNS.isSet(flags)) {
        protectedNS = in.readVU30();
      }

      int ifaceCount = in.readVU30();
      int[] interfaces = new int[ifaceCount];
      for (int j = 0; j < interfaces.length; j++) {
        interfaces[j] = in.readVU30();
      }

      int constructorIndex = in.readVU30();

      int traitCount = in.readVU30();
      ABC.Traits traits =
          (classInfos != null)
              ? classInfos.instanceInfo(
                  nameIndex,
                  superIndex,
                  flags,
                  protectedNS,
                  interfaces,
                  constructorIndex,
                  traitCount)
              : null;

      readTraits(traitCount, traits);
    }
  }