コード例 #1
0
        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
        }
コード例 #2
0
    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);
        }
    }