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