private static void LogAssertion(string msg) { #if DQR_ASSERTS StackTrace trace = new StackTrace(2, true); AssertRecord record = AssertRecordController.SelectAssertRecord(trace, msg); record.HandleAssertFire(trace); #endif }
public static AssertRecord SelectAssertRecord(StackTrace trace, string providedMessage) { lock (s_HitRecords) { StackFrame assertFrame = trace.GetFrame(0); AssertRecordKey key = new AssertRecordKey { File = assertFrame.GetFileName(), LineNumber = assertFrame.GetFileLineNumber(), ColumnNumber = assertFrame.GetFileColumnNumber() }; if (s_HitRecords.TryGetValue(key, out AssertRecord foundRecord)) { return(foundRecord); } AssertRecord newRecord = new AssertRecord(assertFrame, providedMessage); s_HitRecords.Add(key, newRecord); return(newRecord); } }