/// <summary> /// Reads a raw <c>LocalVariable</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 TryReadLocalVariableRow(uint rid, out RawLocalVariableRow row) { var table = LocalVariableTable; if (table.IsInvalidRID(rid)) { row = default; return(false); } var reader = table.DataReader; reader.Position = (rid - 1) * (uint)table.TableInfo.RowSize; row = new RawLocalVariableRow( reader.Unsafe_ReadUInt16(), reader.Unsafe_ReadUInt16(), table.Column2.Unsafe_Read24(ref reader)); return(true); }
public int GetHashCode(RawLocalVariableRow obj) => obj.Attributes + rol(obj.Index, 3) + rol(obj.Name, 7);
public bool Equals(RawLocalVariableRow x, RawLocalVariableRow y) => x.Attributes == y.Attributes && x.Index == y.Index && x.Name == y.Name;
static uint ReadLocalVariableColumnMethod(ref RawLocalVariableRow row, int index) => row[index];