public void RowEnumerationTest() { var rawRow = new uint[] { 0x0000, 0x001, 0x01DD }; var row = new ParameterDefinitionRow((ParameterAttributes)rawRow[0], (ushort)rawRow[1], rawRow[2]); RowTestUtils.VerifyRowColumnEnumeration(rawRow, row); }
/// <summary> /// Creates a parameter definition from a parameter metadata row. /// </summary> /// <param name="parentModule"></param> /// <param name="token">The token to initialize the parameter for.</param> /// <param name="row">The metadata table row to base the parameter definition on.</param> public SerializedParameterDefinition(SerializedModuleDefinition parentModule, MetadataToken token, ParameterDefinitionRow row) : base(token) { _parentModule = parentModule ?? throw new ArgumentNullException(nameof(parentModule)); _row = row; Sequence = row.Sequence; Attributes = row.Attributes; }
/// <summary> /// Allocates metadata rows for the provided parameter definitions in the buffer. /// </summary> /// <param name="parameters">The parameters to define.</param> public void DefineParameters(IEnumerable <ParameterDefinition> parameters) { var table = Metadata.TablesStream.GetTable <ParameterDefinitionRow>(TableIndex.Param); foreach (var parameter in parameters) { var row = new ParameterDefinitionRow( parameter.Attributes, parameter.Sequence, Metadata.StringsStream.GetStringIndex(parameter.Name)); var token = table.Add(row); _tokenMapping.Register(parameter, token); } }