public BuildEventProcessor(DTE dte, IVsSolution solution, bool microsoftInternalUser)
{
if (dte == null)
{
throw new ArgumentNullException("dte");
}
if (solution == null)
{
throw new ArgumentNullException("solution");
}
_dte = dte;
_solution = solution;
_microsoftInternalUser = microsoftInternalUser;
string pathSeparator = Path.DirectorySeparatorChar.ToString();
_localPathsMatcher = new Regex(BuildEventProcessor.LocalPathsPattern.Replace("{path separator}", pathSeparator), RegexOptions.Compiled);
_networkPathsMatcher = new Regex(BuildEventProcessor.NetworkPathsPattern.Replace("{path separator}", pathSeparator), RegexOptions.Compiled);
_protocolsMatcher = new Regex(BuildEventProcessor.ProtocolsPattern, RegexOptions.Compiled);
_identifierMatcher = new Regex(BuildEventProcessor.IdentifierPattern, RegexOptions.Compiled);
_processorStopwatch = new Stopwatch();
}