예제 #1
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new CustomAttributeRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new CustomAttributeRow();
                row.Parent = accessor.ReadCell(compressionInfo.CodedTokenDataSize4[2]);
                row.Type   = accessor.ReadCell(compressionInfo.CodedTokenDataSize4[10]);
                row.Value  = accessor.ReadCell(compressionInfo.BlobHeapOffsetSize4);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
예제 #2
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new ManifestResourceRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new ManifestResourceRow();
                row.Offset         = accessor.ReadInt32();
                row.Flags          = (int)accessor.ReadUInt32();
                row.Name           = accessor.ReadCell(compressionInfo.StringHeapOffsetSize4);
                row.Implementation = accessor.ReadCell(compressionInfo.CodedTokenDataSize4[9]);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new ImplMapRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new ImplMapRow();
                row.MappingFlags    = accessor.ReadUInt16();
                row.MemberForwarded = accessor.ReadCell(compressionInfo.CodedTokenDataSize4[8]);
                row.ImportName      = accessor.ReadCell(compressionInfo.StringHeapOffsetSize4);
                row.ImportScope     = accessor.ReadCell(compressionInfo.TableRowIndexSize4[MetadataTableType.ModuleRef]);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new ConstantRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new ConstantRow();
                row.Type = (ConstantTableType)accessor.ReadByte();
                accessor.ReadByte();                 // Padding
                row.Parent = accessor.ReadCell(compressionInfo.CodedTokenDataSize4[1]);
                row.Value  = accessor.ReadCell(compressionInfo.BlobHeapOffsetSize4);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
예제 #5
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new GenericParamRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new GenericParamRow();
                row.Number = (int)accessor.ReadUInt16();
                row.Flags  = accessor.ReadUInt16();
                row.Owner  = accessor.ReadCell(compressionInfo.CodedTokenDataSize4[12]);
                row.Name   = accessor.ReadCell(compressionInfo.StringHeapOffsetSize4);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
예제 #6
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new ModuleRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new ModuleRow();
                row.Generation = accessor.ReadUInt16();
                row.Name       = accessor.ReadCell(compressionInfo.StringHeapOffsetSize4);
                row.Mvid       = accessor.ReadCell(compressionInfo.GuidHeapOffsetSize4);
                row.EncId      = accessor.ReadCell(compressionInfo.GuidHeapOffsetSize4);
                row.EncBaseId  = accessor.ReadCell(compressionInfo.GuidHeapOffsetSize4);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
예제 #7
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new int[count];

            for (int i = 0; i < count; i++)
            {
                rows[i] = accessor.ReadCell(compressionInfo.TableRowIndexSize4[MetadataTableType.Field]);
            }

            _count = count;
            _rows  = rows;
        }
예제 #8
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new TypeSpecRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new TypeSpecRow();
                row.Signature = accessor.ReadCell(compressionInfo.BlobHeapOffsetSize4);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new AssemblyRefProcessorRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new AssemblyRefProcessorRow();
                row.Processor   = accessor.ReadUInt32();
                row.AssemblyRef = accessor.ReadCell(compressionInfo.TableRowIndexSize4[MetadataTableType.AssemblyRef]);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
예제 #10
0
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new ClassLayoutRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new ClassLayoutRow();
                row.PackingSize = (int)accessor.ReadUInt16();
                row.ClassSize   = accessor.ReadInt32();
                row.Parent      = accessor.ReadCell(compressionInfo.TableRowIndexSize4[MetadataTableType.TypeDef]);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }
        protected internal override void Read(IBinaryAccessor accessor, TableCompressionInfo compressionInfo, int count)
        {
            if (count == 0)
            {
                return;
            }

            var rows = new ParamRow[count];

            for (int i = 0; i < count; i++)
            {
                var row = new ParamRow();
                row.Flags    = accessor.ReadUInt16();
                row.Sequence = accessor.ReadUInt16();
                row.Name     = accessor.ReadCell(compressionInfo.StringHeapOffsetSize4);

                rows[i] = row;
            }

            _count = count;
            _rows  = rows;
        }