public Analyzer InitializeRequiredDependencyAnalyzer() { var analyzer = new RequiredDependencyAnalyzer(GetAnalysisInput()); foreach (var opt in AnalyzerOptions) { if (opt.Name.Equals("out", StringComparison.OrdinalIgnoreCase) || opt.Name.Equals("o", StringComparison.OrdinalIgnoreCase)) { analyzer.OutputFilePath = ParseSingletonPathOption(opt, analyzer.OutputFilePath); } else if (opt.Name.Equals("pip", StringComparison.OrdinalIgnoreCase) || opt.Name.Equals("p", StringComparison.OrdinalIgnoreCase)) { analyzer.SemiStableHashes.Add(ParseSemistableHash(opt)); } else if (opt.Name.Equals("noedges", StringComparison.OrdinalIgnoreCase)) { analyzer.AddEdgesForPips = !ParseBooleanOption(opt); } else if (opt.Name.Equals("si", StringComparison.OrdinalIgnoreCase) || opt.Name.Equals("simulatorIncrement", StringComparison.OrdinalIgnoreCase)) { analyzer.SimulatorIncrement = ParseInt32Option(opt, 1, int.MaxValue); } else if (opt.Name.Equals("allAccesses", StringComparison.OrdinalIgnoreCase)) { analyzer.AllAccesses = ParseBooleanOption(opt); } else { throw Error("Unknown option for required dependency analysis: {0}", opt.Name); } } if (string.IsNullOrWhiteSpace(analyzer.OutputFilePath)) { throw Error("Output file must be specified with /out"); } return(analyzer); }
public WorkerAnalyzer(RequiredDependencyAnalyzer analyzer, string name) { m_analyzer = analyzer; Name = name; }