private void ApplyGenericArguments(SigType[] genericArguments)
 {
     for (int i = 0; i < locals.Length; i++)
     {
         locals[i] = new VariableSignature(locals[i], genericArguments);
     }
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="LocalVariableSignature"/> class.
        /// </summary>
        /// <param name="provider">The provider.</param>
        /// <param name="token">The token.</param>
        /// <param name="genericArguments">The generic arguments.</param>
        public LocalVariableSignature(LocalVariableSignature signature, SigType[] genericArguments)
            : base(signature.Token)
        {
            locals = new VariableSignature[signature.locals.Length];

            for (int i = 0; i < signature.locals.Length; i++)
            {
                locals[i] = new VariableSignature(signature.locals[i], genericArguments);
            }
        }
        /// <summary>
        /// Parses the signature.
        /// </summary>
        /// <param name="reader">The reader.</param>
        protected override void ParseSignature(SignatureReader reader)
        {
            // Check signature identifier
            if (reader.ReadByte() != 0x07)
            {
                throw new ArgumentException(@"Token doesn't represent a local variable signature.", @"token");
            }

            // Retrieve the number of locals
            int count = reader.ReadCompressedInt32();

            if (count != 0)
            {
                this.locals = new VariableSignature[count];
                for (int i = 0; i < count; i++)
                {
                    locals[i] = new VariableSignature(reader);
                }
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="LocalVariableSignature"/> class.
        /// </summary>
        /// <param name="provider">The provider.</param>
        /// <param name="token">The token.</param>
        /// <param name="genericArguments">The generic arguments.</param>
        public LocalVariableSignature(LocalVariableSignature signature, SigType[] genericArguments)
            : base(signature.Token)
        {
            locals = new VariableSignature[signature.locals.Length];

            for (int i = 0; i < signature.locals.Length; i++)
                locals[i] = new VariableSignature(signature.locals[i], genericArguments);
        }
 private void ApplyGenericArguments(SigType[] genericArguments)
 {
     for (int i = 0; i < locals.Length; i++)
     {
         locals[i] = new VariableSignature(locals[i], genericArguments);
     }
 }
        /// <summary>
        /// Parses the signature.
        /// </summary>
        /// <param name="reader">The reader.</param>
        protected override void ParseSignature(SignatureReader reader)
        {
            // Check signature identifier
            if (reader.ReadByte() != 0x07)
                throw new ArgumentException(@"Token doesn't represent a local variable signature.", @"token");

            // Retrieve the number of locals
            int count = reader.ReadCompressedInt32();
            if (count != 0)
            {
                this.locals = new VariableSignature[count];
                for (int i = 0; i < count; i++)
                {
                    locals[i] = new VariableSignature(reader);
                }
            }
        }