private ITableEntry ProcessKnownError(WpfTraceInfo info, Regex lineRegex, string text) { Match match = lineRegex.Match(text); if (!match.Success) { Debug.Fail($"Failed to parse error code {(int)info.Code}: {text}"); return(this.ProcessUnknownError(info, text)); } return(new WpfEntry(info, match, this.stringCache)); }
private ITableEntry ProcessLine(Match match) { string categoryString = match.Groups[WpfOutputParser.CaptureCategory].Value; string severityString = match.Groups[WpfOutputParser.CaptureSeverity].Value; string codeString = match.Groups[WpfOutputParser.CaptureCode].Value; string text = match.Groups[WpfOutputParser.CaptureText].Value; WpfTraceInfo info = new WpfTraceInfo( WpfTraceCategoryUtility.Parse(categoryString), WpfTraceSeverityUtility.Parse(severityString), WpfTraceCodeUtility.Parse(codeString)); return(this.codeToRegex.TryGetValue(info.Code, out Regex regex) ? this.ProcessKnownError(info, regex, text) : this.ProcessUnknownError(info, text)); }
private ITableEntry ProcessUnknownError(WpfTraceInfo info, string lineText) { return(new WpfEntry(info, lineText, this.stringCache)); }