public void ReadExternal(BinaryReader input) { #region integer uint n = Primitives.ReadU30(input).Value; _intTable = new ArrayList(Capacity.Max(n)); _intTable.Add(new S32()); for (uint i = 1; i < n; ++i) { _intTable.Add(Primitives.ReadS32(input)); } #endregion #region uinteger n = Primitives.ReadU30(input).Value; _uintTable = new ArrayList(Capacity.Max(n)); _uintTable.Add(new U32()); for (uint i = 1; i < n; ++i) { _uintTable.Add(Primitives.ReadU32(input)); } #endregion #region double n = Primitives.ReadU30(input).Value; _doubleTable = new ArrayList(Capacity.Max(n)); _doubleTable.Add(double.NaN); for (uint i = 1; i < n; ++i) { _doubleTable.Add(input.ReadDouble()); } #endregion #region string_info n = Primitives.ReadU30(input).Value; _stringTable = new ArrayList(Capacity.Max(n)); _stringTable.Add(new StringInfo()); for (uint i = 1; i < n; ++i) { StringInfo stringInfo = new StringInfo(); stringInfo.ReadExternal(input); _stringTable.Add(stringInfo); } #endregion #region namespace_info n = Primitives.ReadU30(input).Value; _namespaceTable = new ArrayList(Capacity.Max(n)); _namespaceTable.Add(new NamespaceInfo()); for (uint i = 1; i < n; ++i) { NamespaceInfo namespaceInfo = new NamespaceInfo(); namespaceInfo.ReadExternal(input); _namespaceTable.Add(namespaceInfo); } #endregion #region ns_set_info n = Primitives.ReadU30(input).Value; _nsTable = new ArrayList(Capacity.Max(n)); _nsTable.Add(new NamespaceSetInfo()); for (uint i = 1; i < n; ++i) { NamespaceSetInfo nsInfo = new NamespaceSetInfo(); nsInfo.ReadExternal(input); _nsTable.Add(nsInfo); } #endregion #region multiname_info n = Primitives.ReadU30(input).Value; _multinameTable = new ArrayList(Capacity.Max(n)); _multinameTable.Add(new MultinameInfo()); for (uint i = 1; i < n; ++i) { MultinameInfo multinameInfo = new MultinameInfo(); multinameInfo.ReadExternal(input); _multinameTable.Add(multinameInfo); } #endregion }