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); } }