public void RowEnumerationTest()
        {
            var rawRow = new uint[] { 0x0006, 0x00D6, 0x01AE };
            var row    = new TypeReferenceRow(rawRow[0], rawRow[1], rawRow[2]);

            RowTestUtils.VerifyRowColumnEnumeration(rawRow, row);
        }
Esempio n. 2
0
        /// <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;
 }