public void Crawl(CrawlOptions options) { List <Project> projects; if (!options.IsSolutionFile && options.File != null) { parseFile(new FileRef(options.File, null)); return; } else if (options.IsSolutionFile) { projects = new SolutionReader(options.File).ReadProjects(); } else { projects = getProjects(options.Directory); } loadmscorlib(); projects.ForEach(x => crawl(x)); if (_typeMatching) { _builder.BuildTypeIndex(); new TypeResolver(new OutputWriterCacheReader(_builder, _globalCache)) .ResolveAllUnresolved(_builder); } }