/// <summary> /// Reads a raw <c>MethodImpl</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 TryReadMethodImplRow(uint rid, out RawMethodImplRow row) { var table = MethodImplTable; if (table.IsInvalidRID(rid)) { row = default; return(false); } var reader = table.DataReader; reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize; row = new RawMethodImplRow( table.Column0.Unsafe_Read24(ref reader), table.Column1.Unsafe_Read24(ref reader), table.Column2.Unsafe_Read24(ref reader)); return(true); }
public int GetHashCode(RawMethodImplRow obj) => (int)obj.Class + rol(obj.MethodBody, 3) + rol(obj.MethodDeclaration, 7);
public bool Equals(RawMethodImplRow x, RawMethodImplRow y) => x.Class == y.Class && x.MethodBody == y.MethodBody && x.MethodDeclaration == y.MethodDeclaration;
static uint ReadMethodImplColumnMethod(ref RawMethodImplRow row, int index) => row[index];