Ejemplo n.º 1
0
 public int GetHashCode(RawExportedTypeRow obj)
 {
     return((int)obj.Flags +
            rol(obj.TypeDefId, 3) +
            rol(obj.TypeName, 7) +
            rol(obj.TypeNamespace, 11) +
            rol(obj.Implementation, 15));
 }
Ejemplo n.º 2
0
 public bool Equals(RawExportedTypeRow x, RawExportedTypeRow y)
 {
     return(x.Flags == y.Flags &&
            x.TypeDefId == y.TypeDefId &&
            x.TypeName == y.TypeName &&
            x.TypeNamespace == y.TypeNamespace &&
            x.Implementation == y.Implementation);
 }
Ejemplo n.º 3
0
 void InitializeRawRow()
 {
     if (rawRow != null)
     {
         return;
     }
     rawRow = readerModule.TablesStream.ReadExportedTypeRow(rid);
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Reads a raw <c>ExportedType</c> row or returns false if the row doesn't exist
        /// </summary>
        /// <param name="rid">Row ID</param>
        /// <param name="row">Row data</param>
        /// <returns></returns>
        public bool TryReadExportedTypeRow(uint rid, out RawExportedTypeRow row)
        {
            var table = ExportedTypeTable;

            if (table.IsInvalidRID(rid))
            {
                row = default;
                return(false);
            }
            var reader = table.DataReader;

            reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize;
            row             = new RawExportedTypeRow(
                reader.Unsafe_ReadUInt32(),
                reader.Unsafe_ReadUInt32(),
                table.Column2.Unsafe_Read24(ref reader),
                table.Column3.Unsafe_Read24(ref reader),
                table.Column4.Unsafe_Read24(ref reader));
            return(true);
        }
Ejemplo n.º 5
0
 void InitializeRawRow_NoLock()
 {
     if (rawRow != null)
         return;
     rawRow = readerModule.TablesStream.ReadExportedTypeRow(origRid);
 }
Ejemplo n.º 6
0
 static uint ReadExportedTypeColumnMethod(ref RawExportedTypeRow row, int index) => row[index];