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)); }
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); }
void InitializeRawRow() { if (rawRow != null) { return; } rawRow = readerModule.TablesStream.ReadExportedTypeRow(rid); }
/// <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); }
void InitializeRawRow_NoLock() { if (rawRow != null) return; rawRow = readerModule.TablesStream.ReadExportedTypeRow(origRid); }
static uint ReadExportedTypeColumnMethod(ref RawExportedTypeRow row, int index) => row[index];