示例#1
0
文件: TableHeap.cs 项目: hj1980/Mosa
        /// <summary>
        /// Reads the specified token.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <param name="result">The result.</param>
        public void Read(TokenTypes token, out ImplMapRow result)
        {
            if ((token & TokenTypes.TableMask) != TokenTypes.ImplMap)
                throw new ArgumentException ("Invalid token type for ImplMapRow.", "token");

            using (BinaryReader reader = CreateReaderForToken (token))
            {
                result = new ImplMapRow ((PInvokeAttributes)reader.ReadUInt16 (), ReadIndexValue (reader, IndexType.MemberForwarded), ReadIndexValue (reader, IndexType.StringHeap), ReadIndexValue (reader, TokenTypes.ModuleRef));
            }
        }
示例#2
0
 void IMetadataProvider.Read(TokenTypes token, out ImplMapRow result)
 {
     TableHeap theap = (TableHeap)_streams[(int)HeapType.Tables];
     theap.Read(token, out result);
 }
示例#3
0
 public ImplMapRowExt(IMetadataProvider metadata, ImplMapRow row)
     : base(metadata)
 {
     this.row = row;
 }