public void RowEnumerationTest() { var rawRow = new uint[] { 0x0006, 0x00D6, 0x01AE }; var row = new TypeReferenceRow(rawRow[0], rawRow[1], rawRow[2]); RowTestUtils.VerifyRowColumnEnumeration(rawRow, row); }
/// <inheritdoc /> public MetadataToken GetTypeReferenceToken(TypeReference type) { if (type == null || !AssertIsImported(type)) { return(0); } var table = Metadata.TablesStream.GetTable <TypeReferenceRow>(TableIndex.TypeRef); var row = new TypeReferenceRow( AddResolutionScope(type.Scope), Metadata.StringsStream.GetStringIndex(type.Name), Metadata.StringsStream.GetStringIndex(type.Namespace)); var token = table.Add(row); AddCustomAttributes(token, type); return(token); }
/// <summary> /// Creates a type reference from a type metadata row. /// </summary> /// <param name="parentModule">The module that references the type.</param> /// <param name="token">The token to initialize the type for.</param> /// <param name="row">The metadata table row to base the type definition on.</param> public SerializedTypeReference(SerializedModuleDefinition parentModule, MetadataToken token, TypeReferenceRow row) : base(token) { Module = _parentModule = parentModule ?? throw new ArgumentNullException(nameof(parentModule)); _row = row; }