public FilterFormatter(FilteredLog log) { if (log == null) throw new ArgumentNullException ("log"); this.log = log; }
ILogProvider create_derived_log() { ILogProvider sublog; switch (view_mode) { case ViewMode.Compact: compact_log = new CompactLog (full_log); sublog = compact_log; break; case ViewMode.Full: compact_log = null; sublog = full_log; break; default: Debug.Assert (false, "not reached"); sublog = null; break; } switch (filter_mode) { case FilterMode.Unfiltered: filtered_log = null; return sublog; case FilterMode.Filtered: /* FIXME: what if compiling the regex fails? */ Regex regex = make_regex (filter_entry.Text); if (regex != null) filtered_log = new FilteredLog (sublog, new RegexFilter (new RegexCache (regex))); else filtered_log = null; return filtered_log; } Debug.Assert (false, "not reached"); return null; }