Exemplo n.º 1
0
        /// <summary>
        /// Writes the generic param constraint table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteGenericParamConstraintTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            GenericParamConstraintRow row;

            WriteTable(TokenTypes.GenericParamConstraint, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write(row.OwnerTableIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.ConstraintTableIdx);
            });
        }
Exemplo n.º 2
0
        /// <summary>
        /// Writes the interfaceimpl table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteInterfaceImplTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            InterfaceImplRow row;

            WriteTable(TokenTypes.InterfaceImpl, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write(row.ClassTableIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.InterfaceTableIdx);
            });
        }
Exemplo n.º 3
0
        /// <summary>
        /// Writes the event table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteEventTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            EventRow row;

            WriteTable(TokenTypes.Event, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write((ushort)row.Flags);
                metadataWriter.Write(row.NameStringIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.EventTypeTableIdx);
            });
        }
Exemplo n.º 4
0
        /// <summary>
        /// Writes the typedef table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteTypeDefTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            TypeDefRow row;

            WriteTable(TokenTypes.TypeDef, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write((uint)row.Flags);
                metadataWriter.Write(row.TypeNameIdx);
                metadataWriter.Write(row.TypeNamespaceIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.Extends);
                metadataWriter.Write(row.FieldList);
                metadataWriter.Write(row.MethodList);
            });
        }
Exemplo n.º 5
0
        /// <summary>
        /// Writes the typedef table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteTypeDefTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            TypeDefRow row;

            WriteTable(TokenTypes.TypeDef, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write((uint)row.Flags);
                metadataWriter.Write(row.TypeNameIdx);
                metadataWriter.Write(row.TypeNamespaceIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.Extends);
                metadataWriter.Write(row.FieldList);
                metadataWriter.Write(row.MethodList);
            });
        }
Exemplo n.º 6
0
        /// <summary>
        /// Writes the interfaceimpl table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteInterfaceImplTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            InterfaceImplRow row;

            WriteTable(TokenTypes.InterfaceImpl, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write(row.ClassTableIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.InterfaceTableIdx);
            });
        }
Exemplo n.º 7
0
        /// <summary>
        /// Writes the generic param constraint table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteGenericParamConstraintTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            GenericParamConstraintRow row;

            WriteTable(TokenTypes.GenericParamConstraint, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write(row.OwnerTableIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.ConstraintTableIdx);
            });
        }
Exemplo n.º 8
0
        /// <summary>
        /// Writes the event table.
        /// </summary>
        /// <param name="metadataSource">The metadata source.</param>
        /// <param name="metadataWriter">The metadata writer.</param>
        private static void WriteEventTable(IMetadataProvider metadataSource, MetadataBuilderStage metadataWriter)
        {
            EventRow row;

            WriteTable(TokenTypes.Event, metadataSource, token =>
            {
                metadataSource.Read(token, out row);

                metadataWriter.Write((ushort)row.Flags);
                metadataWriter.Write(row.NameStringIdx);
                metadataWriter.WriteTypeDefOrRefIndex(row.EventTypeTableIdx);
            });
        }